|
|||||||||||||||||||
|
|||||||||||||||||||
Copyright Notices |
|||||||||||||||||||
|
|
Software FIGUE (c) INRIA 1998 in its 1 version of the 31/07/1998, hereinafter referred to as "THE SOFTWARE".
The SOFTWARE has been designed and produced by Bruno CONDUCTIER, Laurent HASCOET
, Laurent THERY
, researchers of
the project CROAP, a research project of the National Computer and Automatics
Institute (INRIA).
INRIA holds all the patent rights concerning the SOFTWARE
The SOFTWARE has been registered at the Agency for the Protection of
Programmes (APP) under the number
IDDN.FR.001.350018.00.R.P.1998.000.10800.
The SOFTWARE is currently being developed and INRIA wishes for it to be used by the scientific world so as to test, evaluate and continually update it.
To this end, INRIA has decided to distribute the prototype of the SOFTWARE by FIP in a source form.
Clauses 9 and 10 of the Berne agreement for the protection of literary and artistic works (Union of Berne) respectively specify in their paragraphs 2 and 3 authorizing only the reproduction and quoting of works on the condition that :
If you are facing some troubles with navigation and
meaning of small
QBullets
have a look at the
online help
.
Moreover a FAQ answers to frequently-asked
questions.
FIGUE is an incremental two dimensional layout engine,
developped by the
CROAP
group of INRIA.
Currently, this work is done in the
KOALA
action of the
DYADE
BULL/INRIA
applied research joint structure.
![]() |
![]() |
![]() |
Before using this information and the product it supports, be sure to read the Copyright Notices. |
From this site you will review the Figue key features, the current state of the project and how to use or extend the engine. Technical and scientific datas are also available: you could browse the java API and the design specifications.
If the information you want isn't there, why not
contact us?
Technical questions and complaints
not present in the
known limitations and bugs report
should be addressed to the
support.
TIP![]() |
Some easy to print versions of the documents are available. |
Finally, you could check some
informations
that we have found useful along this project.
Figue has been succesfully tested with the following setups :
Want to seewhat you are missing ?
Use the following single page versions if you want to print from a browser without stepping through the individual pages.
See the Copyright Notices.
Figue distribution comes as a single zip or compressed tar file :TIP![]() |
Java classes are also available as a single jar file
figue.jar![]() |
cd TOOLS gunzip figue.tar.gz tar xvf figue.tar
call the file manager go to the TOOLS directory double-click on the archive
TIP![]() | Put the local file aioli/modules/figue/web/index.html in your bookmarks. |
Remember the requirements : you must have at least JDK 1.1 installed properly on your machine.
Place the runtime library figue.jar in your CLASSPATH.
CLASSPATH=TOOLS/aioli/modules/figue/classes/figue.jar:$CLASSPATH export CLASSPATH
start the Control Panel select System, edit the environment variables CLASSPATH TOOLS/aioli/modules/figue/classes/figue.jar:;%CLASSPATH% validate
At this point, you should have downloaded and installed Figue.
From now on we will assume that you have chosen to extract Figue into a directory called TOOLS. You will have to modify the following commands appropriately with the accurate name.
import figue.*; import java.awt.Frame; public final class HelloWorld { public final static void main(String[] args) { final AWTFacade theFacade = new AWTFacade(); final Frame theAppli = new Frame("Hello World"); theAppli.setBounds(50,50,300,100); theAppli.add(theFacade.getAwtComponent()); theAppli.validate(); theAppli.setVisible(true); PathInterface thePath = new Path(); thePath.addOperation( new InsertGlyph(Atom.newAtom("Hello World"),0)); theFacade.buildInit(thePath); theFacade.buildComplete(); } } |
jvc.exe HelloWorld.java
javac HelloWorld.java
If the compilation succeeds, the compiler creates a file named HelloWorld.class in the same directory as the Java source file
jview.exe HelloWorld
java HelloWorld
After you have verified that HelloWorld runs, type Control-C to shut it down.
bagheera$ javac HelloWorld.java HelloWorld.java:1: Package figue not found in import. import figue.*; ^ 1 error bagheera$ |
The figue archive is not in your classpath
bagheera$ echo $CLASSPATH bagheera$ |
Put the TOOLS/aioli/modules/figue/classes/figue.jar file
in your classpath
bagheera$ CLASSPATH=TOOLS/aioli/modules/figue/ classes/figue.jar bagheera$ echo $CLASSPATH TOOLS/aioli/modules/figue/classes/figue.jar bagheera$ |
zephir$ javac HelloWorld.java HelloWorld.java:6: Missing term. public final static void main(String[] args) { ^ HelloWorld.java:6: ';' expected. public final static void main(String[] args) { ^ HelloWorld.java:7: Invalid expression statement. final AWTFacade theFacade = new AWTFacade(); ^ 3 errors zephir$ |
You are still using Java 1.0
zephir$ java -version java version "1.0.2dp:11/13/96-15:42" |
Modify you path or install Java 1.1
zephir$ PATH=/usr/local/java11/bin:$PATH zephir$ which java /usr/local/java11/bin/java zephir$ java -version java version "1.1.5" zephir$ |
bagheera$ java HelloWorld Can't find class HelloWorld bagheera$ |
You testing directory is not in your CLASSPATH
zephir$ echo $CLASSPATH TOOLS |
Put the testing directory in your classpath
zephir$ ls HelloWorld.class HelloWorld.class zephir$ CLASSPATH=.:$CLASSPATH zephir$ echo $CLASSPATH .:TOOLS |
This page documents anything noteworthy about Figue, in reverse-chronological order.
From now on we will assume that you have chosen to extract Figue into a directory called TOOLS. You will have to modify the given commands appropriately with the accurate name.
You may download and install Figue by going to the download page http://www.inria.fr/croap/figue/web/download.html
Back to indexFirst check the Getting Started section. Then follow the tutorial for a guided tour.
Back to indexCheck the troubleshooting section. Most of the time :
Check the reference manual for a complete list of all constructs.
Back to indexCheck the What's New section.
Back to indexRemove the directory "aioli" from your local disk.
Back to index
The 100% Pure Java(TM)
is a certification program that acts as
a quality assurance seal of approval that a application
is completely written in Java and can run on
any JRE-supported platform. Figue is written entirely in
Java and although not yet certified, should qualify for
100% Pure Java certification.
Copy the archive
"TOOLS/aioli/modules/figue/classes/figue.jar"
to a directory relative to the applet's HTML file. Then put
figue.jar in the archive list of your
APPLET tag
.
Classes are located in the directory
"TOOLS/aioli/java/classes". All relevant classes are in packages :
Be careful to preserve the figue directory hierarchy when
you create the archive (In other words, be sure to understand
the
"using Jar files with packages" issue.
$ cd /tmp /tmp $ mkdir forJarCreation $ cp -i -r TOOLS |
Don't forget to put your own classes in the previous code ...
Back to index
It depends on what your application does ...
You may be able to be more selective with the
"TOOLS/aioli/java/classes/figue"
directory.
Here is a tip explaining how to improve your applet's download
performance using navigator's Java console.
Sources are provided in the directory
"TOOLS/aioli/modules/figue/java"
under the Copyright Notices agreement.
This page is comprised of hyperlinks to various topics
in the Figue documentation that cover particular
tasks,
subjects
,
tips
or
tricks
that developers commonly need to know about.
AÏOLI is a toolkit that is dedicated to the construction
of user-interface for interactive application.
Here is an example of
an application that displays java
programs.
The particularity of this example is that the mouse click
is sensitive to the structure of the program.
new com.ms.awt.FontX("My_New_Font_Name",Font.BOLD,18);
My_New_Font.0=My_New_Font_System_Name,ANSI_CHARSET
new Font("My_New_Font",Font.BOLD,18);
The Java 1.2 seems to relax this constraint. Since
the font constructor
accept both logical font name and font face name.
The size computed for some font with font metrics differs from the drawing and cleaning area. For example, the letter "f" in big italic will recover a part of the previous and next letters.
The drawBytes
method doesn't work accuraty under Linux. The current
font is not always correct. Using the drawString
method
is the current workaround for Linux. The penality
is an heavy object allocation (bytes to string
conversion and object allocation while using drawString).
Current Workaround
Use drawBytes instead of drawString (Heavy cost of string conversion).
We encounter strange offsets on Microsoft SDK and Internet Explorer when subclassing Container and laying out manually heavyweight component, such scrollbar.
Current Workaround
Subclass Panel instead of
Container.
When using the option "-O" with
javac some public accessors to a private member
seem to be inlined and cause illegal access exception when
running on Microsoft's virtual machine.
Side effect, an inner class
can't access freely to private members or methods
of the enclosing class on Microsoft SDK and Internet Explorer.
Current Workaround
Compile without
optimization or remove the private modifier in the enclosing
class.
The setUnitIncrement method
seems to have no effect with some JDK. The value that is added
(subtracted) when scrolling with the arrows is 1.
Current Workaround
Move to another Java version
(the JDK 1.1.6 on NT seem's to correct this feature), or deal
with the line increment manualy.
Many of the QBullet links in this section are just dummy links pointed to this page. Their only function is to show you what QBullets look like next to hypertext links. Click the back arrow of your browser to return to the place you came from.
Copyright ©1998 INRIA |