PRIMA is a general purpose extensible graphical user interface toolkit with a rich set of standard widgets and an emphasis on 2D image processing tasks. A Perl program using PRIMA looks and behaves identically on X, Win32 and OS/2 PM. INSTALLATION ============ Create a makefile by running Makefile.PL using perl and then run make ( nmake for Win32 and OS/2, or gmake for sgi): perl Makefile.PL make make test make install If 'perl Makefile.PL' fails, compilation history along with errors can be found in makefile.log. If make fails with message ** No image codecs found that means you don't have image libraries that Prima supports in your path. Prima supports libungif, libjpeg, libpng and gbm - latter is compiled customly and named libprigraph. For win32 users it is recommended to download http://www.prima.eu.org/download/prigraph.lib and http://www.prima.eu.org/download/prima_dlls.zip. prigraph.lib should be put into LIBPATH, and prima_dll.zip is to be unpacked and primguts.dll and zlib.dll to be put in the same directory to Prima.dll ( which appears after successful compilation in auto/Prima subdirectory ). If some of the required libraries or include files can not be found, INCPATH+=/some/include and LIBPATH+=/some/lib semantics should be used to tell Makefile.PL about these. To install into a private library, for example your home directory: perl Makefile.PL PREFIX=$HOME/lib/perl If compilation process fails because Makefile contains invalid switches for your compile or linker, try change these with arguments to Makefile.PL. Most useful of these are: COMPILER - type of compiler ( gcc, emx, mscv32, bcc32, irixcc) CC - compiler command CFLAGS - compiler arguments LD - linked command LDFLAGS - linker arguments Look in Makefile.PL for details. BINARY DISTRIBUTION INSTALLATION ================================ Copy all files to the perl distribution with the hierarchy structure preserved. You have to patch Prima::Config.pm manually if you need to compile prima-dependent modules. EXAMPLES ======== Look at the code located in examples subdirectory. Typical code starts with use Prima qw(Application); and ends with run Prima; which is an event loop call. Try to begin from the followind code: use Prima qw(Application Buttons); Prima::Window-> create( text => 'Hello world!', size => [ 200, 200], )-> insert( Button => centered => 1, text => 'Hello world!', onClick => sub { $::application-> close }, ); run Prima; Or, alternatively, start the VB program, which is a semi-demonstration visual builder. All examples and programs included into the distribution can be run either by their name or with perl as argument - for example, ..../generic or perl ..../generic . ( perl ..../generic.bat for win32 ) COPYRIGHT ========= (c) 1997-2001 The Protein Laboratory, University of Copenhagen AUTHORS ======= Dmitry Karasik Anton Berezin Vadim Belman CREDITS ======= David Scott