File: Driver.java

package info (click to toggle)
libcaca 0.99.beta20-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,540 kB
  • sloc: ansic: 25,091; php: 2,763; python: 2,637; cs: 1,213; cpp: 1,127; java: 916; objc: 836; makefile: 545; perl: 505; sh: 472; asm: 297; ruby: 215; xml: 33
file content (52 lines) | stat: -rw-r--r-- 1,609 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/**
 *  libcaca       Java bindings for libcaca
 *  Copyright (c) 2009 Adrien Grand <jpountz@dinauz.org>
 *
 *  This library is free software. It comes without any warranty, to
 *  the extent permitted by applicable law. You can redistribute it
 *  and/or modify it under the terms of the Do What the Fuck You Want
 *  to Public License, Version 2, as published by Sam Hocevar. See
 *  http://www.wtfpl.net/ for more details.
 */

import org.zoy.caca.Canvas;
import org.zoy.caca.Color;
import org.zoy.caca.Display;
import org.zoy.caca.Event;
import org.zoy.caca.TimeoutException;

public class Driver {

  public static void main(String[] args) {
    Canvas cv = new Canvas(32, 16);
    Display dp = new Display(cv);
    cv.setColor(Color.Ansi.WHITE, Color.Ansi.BLACK);
    Display.Driver driver;
    int i, cur = 0;
    while(true) {
      cv.put(1, 0, "Available drivers");
      driver = dp.getDriver();
      Display.Driver[] list = Display.getDriverList();
      for (i = 0; i < list.length; i++) {
        if (driver.equals(list[i])) {
          cur = i;
        }
        cv.drawLine(0, 2*i+2, 9999, 2*i+2, ' ');
        cv.put(2, 2*i+2, (cur == i ? "* " : "  ") + list[i].getCode() + " " + list[i].getDescription());
      }
      cv.put(1, 2*i + 2, "Switching driver in 5 seconds");
      dp.refresh();
      try {
        dp.getEvent(Event.Type.KEY_PRESS, 5000000);
        break;
      } catch(TimeoutException e) {
        // Let's continue
      }
      cur++;
      if (list[cur].getCode().equals("raw")) cur++;
      if (cur >= list.length) cur = 0;
      dp.setDriver(list[cur]);
    }
  }

}