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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
//
// Description:
// SWFFont Class
//
// Authors:
// Jonathan Shore <jshore@e-shuppan.com>
// Based on php wrapper developed by <dave@opaque.net>
//
// Copyright:
// Copyright 2001 E-Publishing Group Inc. Permission is granted to use or
// modify this code provided that the original copyright notice is included.
//
// This software is distributed with no warranty of liability, merchantability,
// or fitness for a specific purpose.
//
import SWFObjectI;
import SWFFontI;
//
// SWFFont Class
// font specification & attributes
//
// Notes
// -
//
public class SWFFont extends SWFObject implements SWFFontI {
public SWFFont (String font)
throws SWFException
{
if (font.endsWith (".fdb")) {
setHandle (nNewFileFont (font));
browserfont = false;
} else {
setHandle (nNewBrowserFont (font));
browserfont = true;
}
}
protected void finalize()
throws Throwable
{
if (browserfont)
nDestroyBrowserFont (handle);
else
nDestroyFileFont (handle);
super.finalize();
}
public float getStringWidth (String string)
{ return nGetStringWidth (handle, string); }
public float getAscent ()
{ return nGetAscent (handle); }
public float getDescent ()
{ return nGetDescent (handle); }
public float getLeading ()
{ return nGetLeading (handle); }
// native methods
protected native int nNewFileFont (String font);
protected native int nNewBrowserFont (String font);
protected native void nDestroyFileFont (int handle);
protected native void nDestroyBrowserFont (int handle);
protected native float nGetStringWidth (int handle, String string);
protected native float nGetAscent (int handle);
protected native float nGetDescent (int handle);
protected native float nGetLeading (int handle);
// variables
private boolean browserfont;
};
|