private void paintNorthArrow(Graphics g, int w, int h, boolean isPressed) {
    int baseX = 4;
    int baseY = 5;

    if (isPressed) {
      baseY--;

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][7]);
      g.drawLine(4, 0, w - 5, 0);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][6]);
      g.drawLine(2, 1, w - 3, 1);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][1]);
      g.drawLine(3, 1, w - 4, 1);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][6]);
      g.drawLine(1, 2, w - 2, 2);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][1]);
      g.drawLine(2, 2, w - 3, 2);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][1]);
      g.drawLine(1, 3, w - 2, 3);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][2]);
      g.drawLine(0, 4, 0, h - 1);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][3]);
      g.drawLine(0, 5, 0, h - 1);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][4]);
      g.drawLine(1, 4, 1, h - 2);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][2]);
      g.drawLine(w - 1, 4, w - 1, h - 1);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][3]);
      g.drawLine(w - 1, 5, w - 1, h - 1);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][4]);
      g.drawLine(w - 2, 4, w - 2, h - 2);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][1]);
      g.fillRect(2, 4, w - 4, h - 6);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][5]);
      g.drawLine(1, h - 1, w - 2, h - 1);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][1]);
      g.drawLine(2, h - 2, w - 3, h - 2);
    } else {
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][0]);
      g.drawLine(4, 0, w - 5, 0);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][1]);
      g.drawLine(2, 1, w - 3, 1);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][2]);
      g.drawLine(3, 1, w - 4, 1);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][3]);
      g.drawLine(4, 1, w - 5, 1);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][4]);
      g.drawLine(1, 2, w - 2, 2);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][5]);
      g.drawLine(2, 2, w - 3, 2);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][6]);
      g.drawLine(1, 3, w - 2, 3);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][7]);
      g.drawLine(2, 3, w - 3, 3);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][8]);
      g.drawLine(0, 4, 0, h - 1);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][9]);
      g.drawLine(0, 5, 0, h - 1);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][10]);
      g.drawLine(1, 4, 1, h - 2);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][8]);
      g.drawLine(w - 1, 4, w - 1, h - 1);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][9]);
      g.drawLine(w - 1, 5, w - 1, h - 1);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][10]);
      g.drawLine(w - 2, 4, w - 2, h - 2);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][11]);
      g.fillRect(2, 4, w - 4, h - 6);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][12]);
      g.drawLine(1, h - 1, w - 2, h - 1);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][13]);
      g.drawLine(2, h - 2, w - 3, h - 2);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][14]);
      g.drawLine(3, h - 3, w - 4, h - 3);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][15]);
      g.drawLine(4, h - 4, w - 5, h - 4);
    }

    int xCenter = w / 2 - 9;
    g.translate(xCenter, 0);

    g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][16]);
    g.drawLine(baseX + 1, baseY + 4, baseX + 5, baseY);
    g.drawLine(baseX + 9, baseY + 4, baseX + 5, baseY);

    g.setColor(Color.white);
    g.drawLine(baseX + 5, baseY + 1, baseX + 1, baseY + 5);
    g.drawLine(baseX + 5, baseY + 1, baseX + 9, baseY + 5);

    g.drawLine(baseX + 5, baseY + 2, baseX + 3, baseY + 4);
    g.drawLine(baseX + 5, baseY + 2, baseX + 7, baseY + 4);

    g.drawLine(baseX + 5, baseY + 3, baseX + 5, baseY + 3);

    g.translate(-xCenter, 0);
  }
  private void paintEastArrow(Graphics g, int w, int h, boolean isPressed) {
    int baseX = 5;
    int baseY = 3;

    if (isPressed) {
      baseX++;

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][0]);
      g.drawLine(w - 1, 4, w - 1, h - 5);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][0]);
      g.drawLine(w - 2, 2, w - 2, h - 3);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][1]);
      g.drawLine(w - 2, 3, w - 2, h - 4);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][0]);
      g.drawLine(w - 3, 1, w - 3, h - 2);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][1]);
      g.drawLine(w - 3, 2, w - 3, h - 3);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][1]);
      g.drawLine(w - 4, 1, w - 4, h - 2);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][2]);
      g.drawLine(0, 0, w - 5, 0);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][3]);
      g.drawLine(0, 0, w - 6, 0);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][4]);
      g.drawLine(1, 1, w - 5, 1);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][2]);
      g.drawLine(0, h - 1, w - 5, h - 1);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][3]);
      g.drawLine(0, h - 1, w - 6, h - 1);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][4]);
      g.drawLine(1, h - 2, w - 5, h - 2);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][1]);
      g.fillRect(1, 2, w - 5, h - 4);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][5]);
      g.drawLine(0, 1, 0, h - 2);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[0][1]);
      g.drawLine(1, 2, 1, h - 3);
    } else {
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][0]);
      g.drawLine(w - 1, 4, w - 1, h - 5);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][1]);
      g.drawLine(w - 2, 2, w - 2, h - 3);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][2]);
      g.drawLine(w - 2, 3, w - 2, h - 4);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][3]);
      g.drawLine(w - 2, 4, w - 2, h - 5);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][4]);
      g.drawLine(w - 3, 1, w - 3, h - 2);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][5]);
      g.drawLine(w - 3, 2, w - 3, h - 3);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][6]);
      g.drawLine(w - 4, 1, w - 4, h - 2);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][7]);
      g.drawLine(w - 4, 2, w - 4, h - 3);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][8]);
      g.drawLine(0, 0, w - 5, 0);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][9]);
      g.drawLine(0, 0, w - 6, 0);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][10]);
      g.drawLine(1, 1, w - 5, 1);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][8]);
      g.drawLine(0, h - 1, w - 5, h - 1);
      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][9]);
      g.drawLine(0, h - 1, w - 6, h - 1);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][10]);
      g.drawLine(1, h - 2, w - 5, h - 2);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][11]);
      g.fillRect(1, 2, w - 5, h - 4);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][12]);
      g.drawLine(0, 1, 0, h - 2);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][13]);
      g.drawLine(1, 2, 1, h - 3);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][14]);
      g.drawLine(2, 3, 2, h - 4);

      g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][15]);
      g.drawLine(3, 4, 3, h - 5);
    }

    int yCenter = h / 2 - 9;
    g.translate(0, yCenter);

    g.setColor(RapidLookTools.getColors().getArrowButtonColors()[1][16]);
    g.drawLine(baseX + 6, baseY + 5, baseX + 2, baseY + 1);
    g.drawLine(baseX + 6, baseY + 5, baseX + 2, baseY + 9);

    g.setColor(Color.white);
    g.drawLine(baseX + 5, baseY + 5, baseX + 1, baseY + 1);
    g.drawLine(baseX + 5, baseY + 5, baseX + 1, baseY + 9);

    g.drawLine(baseX + 4, baseY + 5, baseX + 2, baseY + 3);
    g.drawLine(baseX + 4, baseY + 5, baseX + 2, baseY + 7);

    g.drawLine(baseX + 3, baseY + 5, baseX + 3, baseY + 5);

    g.translate(0, -yCenter);
  }