X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosuilib%2FAltosUILib.java;h=7553a8ac06bf9a84c2a832be60cb4433bf27fdf9;hp=717678bafa6d959d19df096fa317f4a0e2ec33da;hb=76b288f8d02e0a48f04de9455a2dd0b77e48bd63;hpb=03496dc47372c40f7faae1766b0e729a1feeab7c diff --git a/altosuilib/AltosUILib.java b/altosuilib/AltosUILib.java index 717678ba..7553a8ac 100644 --- a/altosuilib/AltosUILib.java +++ b/altosuilib/AltosUILib.java @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -15,28 +16,39 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altosuilib; +package org.altusmetrum.altosuilib_14; import java.awt.*; import libaltosJNI.*; -import org.altusmetrum.AltosLib.*; +import org.altusmetrum.altoslib_14.*; public class AltosUILib extends AltosLib { - static final int tab_elt_pad = 5; + public static final int tab_elt_pad = 5; - static Font label_font; - static Font value_font; - static Font status_font; - static Font table_label_font; - static Font table_value_font; + public static Font label_font; + public static Font value_font; + public static Font status_font; + public static Font table_label_font; + public static Font table_value_font; - final static int font_size_small = 1; - final static int font_size_medium = 2; - final static int font_size_large = 3; + final public static int font_size_small = 1; + final public static int font_size_medium = 2; + final public static int font_size_large = 3; + final public static int font_size_huge = 4; - static void set_fonts(int size) { + final public static int position_top_left = 0; + final public static int position_top = 1; + final public static int position_top_right = 2; + final public static int position_left = 3; + final public static int position_center = 4; + final public static int position_right = 5; + final public static int position_bottom_left = 6; + final public static int position_bottom = 7; + final public static int position_bottom_right = 8; + + public static void set_fonts(int size) { int brief_size; int table_size; int status_size; @@ -58,6 +70,11 @@ public class AltosUILib extends AltosLib { status_size = 30; table_size = 17; break; + case font_size_huge: + brief_size = 30; + status_size = 36; + table_size = 24; + break; } label_font = new Font("Dialog", Font.PLAIN, brief_size); value_font = new Font("Monospaced", Font.PLAIN, brief_size); @@ -66,26 +83,45 @@ public class AltosUILib extends AltosLib { table_value_font = new Font("Monospaced", Font.PLAIN, table_size); } - static final int text_width = 20; + static public final int text_width = 20; static public boolean initialized = false; static public boolean loaded_library = false; + static public boolean has_bluetooth = false; + + static final String[] library_names_32 = { "altos", "altos32", "altos64" }; + static final String[] library_names_64 = { "altos", "altos64", "altos32" }; public static boolean load_library() { if (!initialized) { - try { - System.loadLibrary("altos"); - libaltos.altos_init(); - loaded_library = true; - } catch (UnsatisfiedLinkError e) { + String model = System.getProperty("sun.arch.data.model", "missing"); + boolean is_64 = false; + if (model.equals("64")) { + is_64 = true; + } else if (model.equals("32")) { + ; + } else { + String arch = System.getProperty("os.arch", "missing"); + if (arch.endsWith("64")) + is_64 = true; + } + for (String name : is_64 ? library_names_64 : library_names_32) { try { - System.loadLibrary("altos64"); + System.loadLibrary(name); libaltos.altos_init(); loaded_library = true; - } catch (UnsatisfiedLinkError e2) { + break; + } catch (UnsatisfiedLinkError e) { + System.out.printf("Link error %s\n", e.getMessage()); loaded_library = false; } } + + String OS = System.getProperty("os.name"); + + if (OS.startsWith("L") || OS.startsWith("W")) + has_bluetooth = true; + initialized = true; } return loaded_library;