File: Font.java

package info (click to toggle)
libcaca 0.99.beta20-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 5,264 kB
  • sloc: ansic: 25,091; php: 2,763; python: 2,637; cs: 1,213; cpp: 1,127; java: 916; objc: 836; makefile: 543; perl: 505; sh: 472; asm: 297; ruby: 215; xml: 33
file content (59 lines) | stat: -rw-r--r-- 1,356 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
53
54
55
56
57
58
59
/**
 *  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.
 */

package org.zoy.caca;

public class Font extends NativeObject {

  static {
    Caca.load();
  }

  private static native long loadFont(String fontName);
  private static native long loadFont(byte[] fontBytes);

  public Font(String fontName) {
    ptr = loadFont(fontName);
  }

  public Font(byte[] fontBytes) {
    ptr = loadFont(fontBytes);
  }

  public static native String[] getFontNames();

  private static native int getFontWidth(long fontPtr);

  public int getWidth() {
    return getFontWidth(ptr);
  }

  private static native int getFontHeight(long fontPtr);

  public int getHeight() {
    return getFontHeight(ptr);
  }

  private static native int[][] getFontBlocks(long fontPtr);

  public int[][] getBlocks() {
    return getFontBlocks(ptr);
  }

  private static native void freeFont(long fontPtr);

  @Override
  public void finalize() throws Throwable {
    freeFont(ptr);
    super.finalize();
  }

}