Graphics-Libplot-2.2.3/0000755000175000017500000000000014132111356014604 5ustar osboxesosboxesGraphics-Libplot-2.2.3/INSTALL0000644000175000017500000000047714132106616015650 0ustar osboxesosboxeslibplot-perl In order to build this package, you need the libplot library to be built and installed. It is part of the plotutils package, available wherever fine FSF products are sold. You need the plot.h header file as well. On some systems, the module will build with perl Makefile.PL make make test make install Graphics-Libplot-2.2.3/META.json0000644000175000017500000000222714132111356016230 0ustar osboxesosboxes{ "abstract" : "unknown", "author" : [ "John Lapeyre " ], "dynamic_config" : 1, "generated_by" : "ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010", "license" : [ "unknown" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : 2 }, "name" : "Graphics-Libplot", "no_index" : { "directory" : [ "t", "inc" ] }, "prereqs" : { "build" : { "requires" : { "ExtUtils::MakeMaker" : "0" } }, "configure" : { "requires" : { "Devel::CheckLib" : "1.14" } } }, "release_status" : "stable", "resources" : { "bugtracker" : { "web" : "https://github.com/mohawk2/Graphics-Libplot/issues" }, "repository" : { "type" : "git", "url" : "git://github.com/mohawk2/Graphics-Libplot.git", "web" : "https://github.com/mohawk2/Graphics-Libplot" }, "x_IRC" : "irc://irc.perl.org/#pdl" }, "version" : "v2.2.3", "x_serialization_backend" : "JSON::PP version 4.04" } Graphics-Libplot-2.2.3/test.pl0000755000175000017500000000172114132107634016130 0ustar osboxesosboxes# Before `make install' is performed this script should be runnable with # `make test'. After `make install' it should work as `perl test.pl' ######################### We start with some black magic to print on failure. # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) BEGIN { $| = 1; print "1..1\n"; } END {print "not ok 1\n" unless $loaded;} use Graphics::Libplot ':ALL'; #use POSIX; $loaded = 1; print "ok 1\n"; ######################### End of black magic. # Insert your test code below (better if it prints "ok 13" # (correspondingly "not ok 13") depending on the success of chunk 13 # of the test code): sub deb { print STDERR "$_[0]\n"; } $i = 2; foreach $test ( qw ( spiralbox ccurve rothello spiraltext movingeye ) ) { print "trying $test\n"; pl_parampl ("VANISH_ON_DELETE", "no"); # reset this each time require "./examples/$test"; print "ok $i\n"; $i++; } Graphics-Libplot-2.2.3/debian/0000755000175000017500000000000014132111356016026 5ustar osboxesosboxesGraphics-Libplot-2.2.3/debian/control0000644000175000017500000000076014132106616017437 0ustar osboxesosboxesSource: libplot-perl Section: perl Priority: extra Maintainer: Debian QA Group Standards-Version: 3.5.9 Build-Depends: debhelper (>> 4.1), perl (>> 5.8), libplot-dev Package: libplot-perl Architecture: any Depends: ${perl:Depends}, ${shlibs:Depends} Description: perl interface to plot library libplot is part of the plotutils package from the FSF. This package allows the routines to be called from perl. Only the C library routines are avaiable with this package. Graphics-Libplot-2.2.3/debian/rules0000755000175000017500000000216514132106616017115 0ustar osboxesosboxes#! /usr/bin/make -f # -*-makefile-*- # debian/rules file for libplot-perl export DH_COMPAT=4 PERL ?= /usr/bin/perl package := $(firstword $(shell dh_listpackages)) prefix := $(PWD)/debian/$(package)/usr version := $(shell dpkg-parsechangelog | \ sed -ne 's/^Version: *\([0-9]\+:\)*//p') tag: cvs tag -c -F $(subst .,_,debian_version_$(version)) ifeq ($(findstring -,$(version)),) cvs tag -c -F $(subst .,_,upstream_version_$(version)) endif build: build-stamp build-stamp: dh_testdir $(PERL) Makefile.PL INSTALLDIRS=vendor PERL=$(PERL) $(MAKE) LD_RUN_PATH= touch $@ clean: checkroot rm -f build-stamp -$(MAKE) distclean dh_clean binary-indep: checkroot build binary-arch: checkroot build dh_clean dh_installdirs $(MAKE) pure_install PREFIX=$(prefix) -rmdir -p $(prefix)/share/perl5 dh_installdocs README dh_installexamples examples/* dh_installchangelogs Changes dh_strip dh_compress dh_fixperms dh_perl dh_shlibdeps dh_installdeb dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch checkroot: dh_testdir dh_testroot .PHONY: binary binary-arch binary-indep clean checkroot build Graphics-Libplot-2.2.3/debian/copyright0000644000175000017500000000131714132106616017766 0ustar osboxesosboxesThis is the Debian GNU/Linux version of the Graphics::Libplot Perl module. From the README: libplot-perl is copyrighted by John Lapeyre This program may be distributed only under the terms of the Gnu General Public License or the perl Artistic License. The full text of the GPL is available on Debian systems in /usr/share/common-licenses/GPL The full text of the Artistic Licence is available on Debian systems in /usr/share/common-licenses/Artistic. This package has been through multiple maintainers (for a list see /usr/share/doc/libplot-perl/changelog.Debian.gz). Current Debian specific changes are copyright (c) 1999-2002, Stephen Zander Graphics-Libplot-2.2.3/debian/changelog0000644000175000017500000000573314132106616017713 0ustar osboxesosboxeslibplot-perl (2.2.2-1) unstable; urgency=low * New upstream (see Changes file there) -- John Lapeyre Fri, 28 Jul 2006 22:34:15 -0700 libplot-perl (2.2.1-1) unstable; urgency=low * Removed cruft from documents -- John Lapeyre Sun, 16 Jul 2006 21:42:49 -0700 libplot-perl (2.2.0-7) unstable; urgency=low * QA Upload * Changed Maintainer to Debian QA Group * Changed section from 'math' to 'perl' -- Stephen Quinney Sat, 26 Feb 2005 11:09:59 +0000 libplot-perl (2.2.0-6) unstable; urgency=low * Rebuild the package to reflect the name change in a dependency (libplot -> libplot2) -- Stephen Zander Sun, 20 Apr 2003 23:23:02 -0700 libplot-perl (2.2.0-5) unstable; urgency=low * Rationalised debian/copyright, Closes: #157637 * Merged NMU changes into CVS repository, Closes: #159044 -- Stephen Zander Mon, 2 Sep 2002 21:54:04 -0700 libplot-perl (2.2.0-4.1) unstable; urgency=low * Rebuilt for perl 5.8; update build-dep to same. * Changed dh_installexamples call to not break if DH_ALWAYS_EXCLUDE is set -- Joey Hess Sat, 31 Aug 2002 20:20:02 -0400 libplot-perl (2.2.0-4) unstable; urgency=low * Fixed examples/examples in packaging, Closes: #96382 * Fixed spelling errors, Closes: #125016 -- Stephen Zander Tue, 19 Mar 2002 22:38:49 -0800 libplot-perl (2.2.0-3) unstable; urgency=low * Updated for policy 3.5.1 and the new perl packaging policy, Closes: #80713 -- Stephen Zander Tue, 10 Apr 2001 17:35:15 -0700 libplot-perl (2.2.0-2) unstable; urgency=low * Fixed missing depndecy on plotutils, closes: #59144 * Fixed mis-ordered rules in build process, closes: #54583 -- Stephen Zander Tue, 18 Apr 2000 23:58:23 -0700 libplot-perl (2.2.0-1) unstable; urgency=low * New maintainer. * Repackaged in non-native format. * Explicit perl dependency now included, Closes: #42275 -- Stephen Zander Fri, 5 Nov 1999 22:12:42 -0800 libplot-perl (2.2-1-3) unstable; urgency=low * Compile for new perl 5.005 -- John Lapeyre Thu, 1 Jul 1999 20:37:14 -0700 libplot-perl (2.2-1-2) unstable; urgency=low * Fix i386 centric bug reported by R. Hodek #30183 -- John Lapeyre Fri, 23 Apr 1999 20:25:24 -0700 libplot-perl (2.2-1-1) unstable; urgency=low * Compile against new libplot library * API changed to agree with new C API -- John Lapeyre Wed, 21 Apr 1999 17:41:43 -0700 libplot-perl (2.1.6.2-1) unstable; urgency=low * New upstream. -- John Lapeyre Wed, 18 Nov 1998 01:24:20 -0700 libplot-perl (2.1.6.1-1) unstable; urgency=low * Initial Release. -- John Lapeyre Tue, 27 Oct 1998 16:55:19 -0700 Graphics-Libplot-2.2.3/debian/NOTES.debian0000644000175000017500000000024714132106616020070 0ustar osboxesosboxesI use the script trans in ./util to generate xs code fro the plot.h . I few of the variables with the const modifier are not done correctly-- I correct them by hand. Graphics-Libplot-2.2.3/debian/README.debian0000644000175000017500000000050114132106616020126 0ustar osboxesosboxeslibplot-perl for DEBIAN ---------------------- This is perl bindings to the libplot graphics library. For more information, you can give man Graphics::Libplot or perldoc Libplot There is information on libplot in the plotutils info pages. John Lapeyre , Tue, 27 Oct 1998 16:55:19 -0700 Graphics-Libplot-2.2.3/typemap0000644000175000017500000000356014132106616016215 0ustar osboxesosboxes# $Header$ # basic C types int T_IV unsigned T_IV unsigned int T_IV long T_IV unsigned long T_IV short T_IV unsigned short T_IV char T_CHAR unsigned char T_U_CHAR char * T_PV unsigned char * T_PV caddr_t T_PV wchar_t * T_PV wchar_t T_IV bool_t T_IV size_t T_IV ssize_t T_IV time_t T_NV unsigned long * T_OPAQUEPTR char ** T_PACKED void * T_PTR Time_t * T_PV SV * T_SV SVREF T_SVREF AV * T_AVREF HV * T_HVREF CV * T_CVREF IV T_IV I32 T_IV I16 T_IV I8 T_IV U32 T_U_LONG U16 T_U_SHORT U8 T_IV Result T_U_CHAR Boolean T_IV double T_DOUBLE SysRet T_SYSRET SysRetLong T_SYSRET #FILE * T_IN #FileHandle T_PTROBJ #InputStream T_IN #InOutStream T_INOUT #OutputStream T_OUT double * T_PV float * T_PV double ** T_PV int * T_PV u_int T_U_LONG INPUT #T_PTROBJ # if (sv_isa($arg, \"${ntype}\")) { # IV tmp = SvIV((SV*)SvRV($arg)); # $var = ($type) tmp; # } # else # croak(\"$var is not of type ${ntype}\") T_PTROBJ IV tmp = SvIV((SV*)SvRV($arg)); $var = ($type) tmp; O_OBJECT if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) ) $var = ($type)SvIV((SV*)SvRV( $arg )); else{ warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" ); XSRETURN_UNDEF; } O_OBJECTR if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) ) $var = ($type)SvIV(SvRV( $arg )); else{ warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" ); XSRETURN_UNDEF; } OUTPUT # The Perl object is blessed into 'CLASS', which should be a # char* having the name of the package for the blessing. O_OBJECT sv_setref_pv( $arg, CLASS, (void*)$var ); #O_OBJECT # sv_setref_pv($arg, \"${ntype}\", (void*)$var); T_PTROBJ sv_setref_pv($arg, \"${ntype}\", (void*)$var); ############################################################################# Graphics-Libplot-2.2.3/META.yml0000644000175000017500000000124614132111356016060 0ustar osboxesosboxes--- abstract: unknown author: - 'John Lapeyre ' build_requires: ExtUtils::MakeMaker: '0' configure_requires: Devel::CheckLib: '1.14' dynamic_config: 1 generated_by: 'ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010' license: unknown meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: '1.4' name: Graphics-Libplot no_index: directory: - t - inc resources: IRC: irc://irc.perl.org/#pdl bugtracker: https://github.com/mohawk2/Graphics-Libplot/issues repository: git://github.com/mohawk2/Graphics-Libplot.git version: v2.2.3 x_serialization_backend: 'CPAN::Meta::YAML version 0.018' Graphics-Libplot-2.2.3/Changes0000644000175000017500000000112314132111264016072 0ustar osboxesosboxes2.2.3 2021-10-14 - fix for no . in @INC - build updates 2.2.2 Fri, 28 Jul 2006 22:20:49 -0700 Olle Nilsson provided a fix that prevented output other than X from working. (removed file related types from the typemap.) 2.2.1 Sun, 16 Jul 2006 22:21:24 -0700 Fixed pod docs. Cleaned up some other docs 2.2-1 Thu, 22 Apr 1999 00:24:11 -0700 C API of libplot changed, so we have to make our API change 2.1.6.2 Wed, 18 Nov 1998 01:24:20 -0700 - Spruced up documentation a bit. 0.01 Thu Oct 22 20:01:58 1998 - original version; created by h2xs 1.18 Graphics-Libplot-2.2.3/COPYING0000644000175000017500000000030114132106616015634 0ustar osboxesosboxeslibplot-perl is copyrighted by John Lapeyre This program may be distributed only under the terms of the Gnu General Public License or the perl Artistic License. Graphics-Libplot-2.2.3/Libplot.pm0000644000175000017500000001441414132111222016543 0ustar osboxesosboxespackage Graphics::Libplot; use strict; use Carp; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @INTLOWLEVEL @FLOATLOWLEVEL @DEVICECONTROL @MAPPING @ATTRIBUTES @GENERAL @ALLBUTDRAW ); require Exporter; require DynaLoader; require AutoLoader; @ISA = qw(Exporter DynaLoader); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. #@EXPORT = qw( # LIBPLOT_VERSION # __BEGIN_DECLS # __END_DECLS # ___const #); $VERSION = '2.2.3'; sub AUTOLOAD { # This AUTOLOAD is used to 'autoload' constants from the constant() # XS function. If a constant is not found then control is passed # to the AUTOLOAD in AutoLoader. my $constname; ($constname = $AUTOLOAD) =~ s/.*:://; my $val = constant($constname, @_ ? $_[0] : 0); if ($! != 0) { if ($! =~ /Invalid/) { $AutoLoader::AUTOLOAD = $AUTOLOAD; goto &AutoLoader::AUTOLOAD; } else { croak "Your vendor has not defined Libplot macro $constname"; } } eval "sub $AUTOLOAD { $val }"; goto &$AUTOLOAD; } @DEVICECONTROL = qw( pl_newpl pl_selectpl pl_deletepl pl_parampl pl_closepl pl_openpl pl_flushpl ); @MAPPING = qw ( pl_fconcat pl_frotate pl_fscale pl_ftranslate ); @ATTRIBUTES = qw ( pl_bgcolor pl_bgcolorname pl_linemod pl_capmod pl_color pl_colorname pl_filltype pl_fillcolor pl_fillcolorname pl_fontname pl_fontsize pl_havecap pl_joinmod pl_pencolor pl_pencolorname pl_linewidth pl_labelwidth pl_restorestate pl_savestate pl_textangle ); @GENERAL = qw( pl_label pl_erase pl_outfile pl_endpath ); @INTLOWLEVEL = qw ( pl_arc pl_box pl_circle pl_cont pl_line pl_move pl_point pl_space pl_alabel pl_arcrel pl_boxrel pl_circlerel pl_contrel pl_ellarc pl_ellarcrel pl_ellipse pl_ellipserel pl_linerel pl_marker pl_markerrel pl_moverel pl_pointrel pl_space2 ); @FLOATLOWLEVEL = qw ( pl_ffontname pl_ffontsize pl_flabelwidth pl_ftextangle pl_farc pl_farcrel pl_fbox pl_fboxrel pl_fcircle pl_fcirclerel pl_fcont pl_fcontrel pl_fellarc pl_fellarcrel pl_fellipse pl_fellipserel pl_fline pl_flinerel pl_flinewidth pl_fmarker pl_fmarkerrel pl_fmove pl_fmoverel pl_fpoint pl_fpointrel pl_fspace pl_fspace2 ); @EXPORT_OK = ( @INTLOWLEVEL, @FLOATLOWLEVEL, @DEVICECONTROL, @MAPPING, @ATTRIBUTES, @GENERAL ); @EXPORT = (); @ALLBUTDRAW=(@DEVICECONTROL, @MAPPING, @ATTRIBUTES, @GENERAL); %EXPORT_TAGS = ('INTEGERLOW' => [@ALLBUTDRAW, @INTLOWLEVEL], 'FLOATLOW' => [@ALLBUTDRAW, @FLOATLOWLEVEL] ); $EXPORT_TAGS{'ALL'} = [@ALLBUTDRAW,@FLOATLOWLEVEL,@INTLOWLEVEL ]; bootstrap Graphics::Libplot $VERSION; # Preloaded methods go here. # Autoload methods go after =cut, and are processed by the autosplit program. 1; __END__ # Below is the stub of documentation for your module. You better edit it! =head1 NAME Graphics::Libplot - Perl extension for libplot plotting library =head1 SYNOPSIS use Graphics::Libplot ':All'; =head1 DESCRIPTION This module lets you create plots by calling the routines in the libplot library. The libplot library is included in the plotutils package. Wrappers for each published C function are present. So the section of the plotutils info pages on programming in C should be your main reference. There are a few possible confusions, which are noted below. libplot has three different api's. This perl module provides and interface to the second one. It is the same as the most recent api, except that the the functions are not re-entrant. The api supported here is described in the section "Older C application programming interfaces" in the libplot manual. Some of the C routines require character constants rather than strings. When using the equivalent perl function, you must wrap the character with the 'ord' function. For instance, alabel(ord 'c', ord 'c', "some text"); , will write some centered text. There is another unrelated perl-module interface to GNU libplot, called C. =head1 EXPORTING FUNCTIONS None of the libplot functions is exported by default. If you do not import any functions you must prepend the module name to each function. To call the pl_openpl() function you would give, Graphics::Libplot::pl_openpl(); However, if you include the library with use Graphics::Libplot ':All' then all of the functions will be exported, and you do not need to prepend the module name. In this case you need to be careful because there are many function names which may collide with others in your program. On the other hand you can use one of use Graphics::Libplot ':INTEGERLOW' use Graphics::Libplot ':FLOATLOW' to get just integer or just floating point plotting. Be aware that the interface is still under development so more names will be added, and your scripts may need to be changed. =head1 EXAMPLES There are additional examples included in the source distribution. (They are in /usr/share/doc/libplot-perl/examples on debian systems.) This example draws a spiraling box pattern. use Graphics::Libplot ':ALL'; # type of plotting device $device = 'X'; if (@ARGV) { $device = $ARGV[0]; die "Uknown device: $ARGV[0]" unless $ARGV[0] =~ /^ps|X|fig$/; } { # environment for local variables my $SIZE=100; my ($i,$f,$s,$sf); pl_parampl ("BITMAPSIZE", "700x700"); $handle = pl_newpl($device, stdin, stdout, stderr); # open xwindow display pl_selectpl($handle); pl_openpl(); pl_fspace(-$SIZE,-$SIZE, $SIZE, $SIZE); # specify user coord system pl_pencolorname ("blue"); pl_fontname("HersheySerif"); $s = 10; $f = 10; $sf = 1- .0012; for($i=1;$i<3000;$i++){ pl_fscale($sf,$sf); pl_fbox(60+$s*sin($i/$f), 60+$s*sin($i/$f), 75-$s*cos($i/$f), 75-$s*cos($i/$f)); pl_frotate(1); } } pl_closepl(); pl_selectpl(0); pl_deletepl($handle); =head1 BUGS The newest API is not supported. There is no test suite with this module, so it is not clear that everything works correctly. =head1 AUTHOR John Lapeyre wrote this perl interface. The libplot C library is developed by Robert Maier. =head1 COPYRIGHT libplot-perl is copyrighted by John Lapeyre and may be distributed only under the terms of either the Gnu General Public License, or of the perl Artistic License. =head1 SEE ALSO perl(1). =cut Graphics-Libplot-2.2.3/Libplot.xs0000644000175000017500000003541714132106616016602 0ustar osboxesosboxes#ifdef __cplusplus extern "C" { #endif #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #ifdef __cplusplus } #endif #include #define LIBPLOTPERL_VERSION "1.6" static int not_here(s) char *s; { croak("%s not implemented on this architecture", s); return -1; } static double constant(name, arg) char *name; int arg; { errno = 0; switch (*name) { case 'A': break; case 'B': break; case 'C': break; case 'D': break; case 'E': break; case 'F': break; case 'G': break; case 'H': break; case 'I': break; case 'J': break; case 'K': break; case 'L': if (strEQ(name, "LIBPLOTPERL_VERSION")) #ifdef LIBPLOTPERL_VERSION /* return (LIBPLOTPERL_VERSION); */ #else goto not_there; #endif break; case 'M': break; case 'N': break; case 'O': break; case 'P': break; case 'Q': break; case 'R': break; case 'S': break; case 'T': break; case 'U': break; case 'V': break; case 'W': break; case 'X': break; case 'Y': break; case 'Z': break; case '_': if (strEQ(name, "__BEGIN_DECLS")) #ifdef __BEGIN_DECLS return __BEGIN_DECLS; #else goto not_there; #endif if (strEQ(name, "__END_DECLS")) #ifdef __END_DECLS return __END_DECLS; #else goto not_there; #endif if (strEQ(name, "___const")) #ifdef ___const return ___const; #else goto not_there; #endif break; } errno = EINVAL; return 0; not_there: errno = ENOENT; return 0; } MODULE = Graphics::Libplot PACKAGE = Graphics::Libplot double constant(name,arg) char * name int arg # int pl_arc ___P((int xc, int yc, int x0, int y0, int x1, int y1)); int pl_arc(xc,yc,x0,y0,x1,y1) int xc int yc int x0 int y0 int x1 int y1 # int pl_box ___P((int x0, int y0, int x1, int y1)); /* no op code, originally */ int pl_box(x0,y0,x1,y1) int x0 int y0 int x1 int y1 # int pl_circle ___P((int x, int y, int r)); int pl_circle(x,y,r) int x int y int r # int pl_closepl ___P((void)); /* no op code, originally */ int pl_closepl() # int pl_cont ___P((int x, int y)); int pl_cont(x,y) int x int y # int pl_erase ___P((void)); int pl_erase() # int pl_label ___P((___const char *s)); int pl_label(s) char *s # int pl_line ___P((int x0, int y0, int x1, int y1)); int pl_line(x0,y0,x1,y1) int x0 int y0 int x1 int y1 # int pl_linemod ___P((___const char *s)); int pl_linemod(s) char *s # int pl_move ___P((int x, int y)); int pl_move(x,y) int x int y # int pl_openpl ___P((void)); /* no op code, originally */ int pl_openpl() # int pl_point ___P((int x, int y)); int pl_point(x,y) int x int y # int pl_space ___P((int x0, int y0, int x1, int y1)); int pl_space(x0,y0,x1,y1) int x0 int y0 int x1 int y1 # FILE* pl_outfile ___P((FILE* outfile));/* OBSOLESCENT */ FILE* pl_outfile(outfile) FILE* outfile # int pl_alabel ___P((int x_justify, int y_justify, ___const char *s)); int pl_alabel(x_justify,y_justify,s) int x_justify int y_justify char *s # int pl_arcrel ___P((int dxc, int dyc, int dx0, int dy0, int dx1, int dy1)); int pl_arcrel(dxc,dyc,dx0,dy0,dx1,dy1) int dxc int dyc int dx0 int dy0 int dx1 int dy1 # int pl_bezier2 ___P((int x0, int y0, int x1, int y1, int x2, int y2)); int pl_bezier2(x0,y0,x1,y1,x2,y2) int x0 int y0 int x1 int y1 int x2 int y2 # int pl_bezier2rel ___P((int dx0, int dy0, int dx1, int dy1, int dx2, int dy2)); int pl_bezier2rel(dx0,dy0,dx1,dy1,dx2,dy2) int dx0 int dy0 int dx1 int dy1 int dx2 int dy2 # int pl_bezier3 ___P((int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3)); int pl_bezier3(x0,y0,x1,y1,x2,y2,x3,y3) int x0 int y0 int x1 int y1 int x2 int y2 int x3 int y3 # int pl_bezier3rel ___P((int dx0, int dy0, int dx1, int dy1, int dx2, int dy2, int dx3, int dy3)); int pl_bezier3rel(dx0,dy0,dx1,dy1,dx2,dy2,dx3,dy3) int dx0 int dy0 int dx1 int dy1 int dx2 int dy2 int dx3 int dy3 # int pl_bgcolor ___P((int red, int green, int blue)); int pl_bgcolor(red,green,blue) int red int green int blue # int pl_bgcolorname ___P((___const char *name)); int pl_bgcolorname(name) char *name # int pl_boxrel ___P((int dx0, int dy0, int dx1, int dy1)); int pl_boxrel(dx0,dy0,dx1,dy1) int dx0 int dy0 int dx1 int dy1 # int pl_capmod ___P((___const char *s)); int pl_capmod(s) char *s # int pl_circlerel ___P((int dx, int dy, int r)); int pl_circlerel(dx,dy,r) int dx int dy int r # int pl_color ___P((int red, int green, int blue)); int pl_color(red,green,blue) int red int green int blue # int pl_colorname ___P((___const char *name)); int pl_colorname(name) char *name # int pl_contrel ___P((int x, int y)); int pl_contrel(x,y) int x int y # int pl_ellarc ___P((int xc, int yc, int x0, int y0, int x1, int y1)); int pl_ellarc(xc,yc,x0,y0,x1,y1) int xc int yc int x0 int y0 int x1 int y1 # int pl_ellarcrel ___P((int dxc, int dyc, int dx0, int dy0, int dx1, int dy1)); int pl_ellarcrel(dxc,dyc,dx0,dy0,dx1,dy1) int dxc int dyc int dx0 int dy0 int dx1 int dy1 # int pl_ellipse ___P((int x, int y, int rx, int ry, int angle)); int pl_ellipse(x,y,rx,ry,angle) int x int y int rx int ry int angle # int pl_ellipserel ___P((int dx, int dy, int rx, int ry, int angle)); int pl_ellipserel(dx,dy,rx,ry,angle) int dx int dy int rx int ry int angle # int pl_endpath ___P((void)); int pl_endpath() # int pl_fillcolor ___P((int red, int green, int blue)); int pl_fillcolor(red,green,blue) int red int green int blue # int pl_fillcolorname ___P((___const char *name)); int pl_fillcolorname(name) char *name # int pl_fillmod ___P((___const char *s)); int pl_fillmod(s) char *s # int pl_filltype ___P((int level)); int pl_filltype(level) int level # int pl_flushpl ___P((void)); int pl_flushpl() # int pl_fontname ___P((___const char *s)); int pl_fontname(s) char *s # int pl_fontsize ___P((int size)); int pl_fontsize(size) int size # int pl_havecap ___P((___const char *s)); int pl_havecap(s) char *s # int pl_joinmod ___P((___const char *s)); int pl_joinmod(s) char *s # int pl_labelwidth ___P((___const char *s)); int pl_labelwidth(s) char *s # int pl_linedash ___P((int n, const int *dashes, int offset)); int pl_linedash(n,dashes,offset) int n int *dashes int offset # int pl_linerel ___P((int dx0, int dy0, int dx1, int dy1)); int pl_linerel(dx0,dy0,dx1,dy1) int dx0 int dy0 int dx1 int dy1 # int pl_linewidth ___P((int size)); int pl_linewidth(size) int size # int pl_marker ___P((int x, int y, int type, int size)); int pl_marker(x,y,type,size) int x int y int type int size # int pl_markerrel ___P((int dx, int dy, int type, int size)); int pl_markerrel(dx,dy,type,size) int dx int dy int type int size # int pl_moverel ___P((int x, int y)); int pl_moverel(x,y) int x int y # int pl_pencolor ___P((int red, int green, int blue)); int pl_pencolor(red,green,blue) int red int green int blue # int pl_pencolorname ___P((___const char *name)); int pl_pencolorname(name) char *name # int pl_pointrel ___P((int dx, int dy)); int pl_pointrel(dx,dy) int dx int dy # int pl_restorestate ___P((void)); int pl_restorestate() # int pl_savestate ___P((void)); int pl_savestate() # int pl_space2 ___P((int x0, int y0, int x1, int y1, int x2, int y2)); int pl_space2(x0,y0,x1,y1,x2,y2) int x0 int y0 int x1 int y1 int x2 int y2 # int pl_textangle ___P((int angle)); int pl_textangle(angle) int angle # double pl_ffontname ___P((___const char *s)); double pl_ffontname(s) char *s # double pl_ffontsize ___P((double size)); double pl_ffontsize(size) double size # double pl_flabelwidth ___P((___const char *s)); double pl_flabelwidth(s) char *s # double pl_ftextangle ___P((double angle)); double pl_ftextangle(angle) double angle # int pl_farc ___P((double xc, double yc, double x0, double y0, double x1, double y1)); int pl_farc(xc,yc,x0,y0,x1,y1) double xc double yc double x0 double y0 double x1 double y1 # int pl_farcrel ___P((double dxc, double dyc, double dx0, double dy0, double dx1, double dy1)); int pl_farcrel(dxc,dyc,dx0,dy0,dx1,dy1) double dxc double dyc double dx0 double dy0 double dx1 double dy1 # int pl_fbezier2 ___P((double x0, double y0, double x1, double y1, double x2, double y2)); int pl_fbezier2(x0,y0,x1,y1,x2,y2) double x0 double y0 double x1 double y1 double x2 double y2 # int pl_fbezier2rel ___P((double dx0, double dy0, double dx1, double dy1, double dx2, double dy2)); int pl_fbezier2rel(dx0,dy0,dx1,dy1,dx2,dy2) double dx0 double dy0 double dx1 double dy1 double dx2 double dy2 # int pl_fbezier3 ___P((double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3)); int pl_fbezier3(x0,y0,x1,y1,x2,y2,x3,y3) double x0 double y0 double x1 double y1 double x2 double y2 double x3 double y3 # int pl_fbezier3rel ___P((double dx0, double dy0, double dx1, double dy1, double dx2, double dy2, double dx3, double dy3)); int pl_fbezier3rel(dx0,dy0,dx1,dy1,dx2,dy2,dx3,dy3) double dx0 double dy0 double dx1 double dy1 double dx2 double dy2 double dx3 double dy3 # int pl_fbox ___P((double x0, double y0, double x1, double y1)); int pl_fbox(x0,y0,x1,y1) double x0 double y0 double x1 double y1 # int pl_fboxrel ___P((double dx0, double dy0, double dx1, double dy1)); int pl_fboxrel(dx0,dy0,dx1,dy1) double dx0 double dy0 double dx1 double dy1 # int pl_fcircle ___P((double x, double y, double r)); int pl_fcircle(x,y,r) double x double y double r # int pl_fcirclerel ___P((double dx, double dy, double r)); int pl_fcirclerel(dx,dy,r) double dx double dy double r # int pl_fcont ___P((double x, double y)); int pl_fcont(x,y) double x double y # int pl_fcontrel ___P((double dx, double dy)); int pl_fcontrel(dx,dy) double dx double dy # int pl_fellarc ___P((double xc, double yc, double x0, double y0, double x1, double y1)); int pl_fellarc(xc,yc,x0,y0,x1,y1) double xc double yc double x0 double y0 double x1 double y1 # int pl_fellarcrel ___P((double dxc, double dyc, double dx0, double dy0, double dx1, double dy1)); int pl_fellarcrel(dxc,dyc,dx0,dy0,dx1,dy1) double dxc double dyc double dx0 double dy0 double dx1 double dy1 # int pl_fellipse ___P((double x, double y, double rx, double ry, double angle)); int pl_fellipse(x,y,rx,ry,angle) double x double y double rx double ry double angle # int pl_fellipserel ___P((double dx, double dy, double rx, double ry, double angle)); int pl_fellipserel(dx,dy,rx,ry,angle) double dx double dy double rx double ry double angle # int pl_flinedash ___P((int n, const double *dashes, double offset)); int pl_flinedash(n,dashes,offset) int n double *dashes double offset # int pl_fline ___P((double x0, double y0, double x1, double y1)); int pl_fline(x0,y0,x1,y1) double x0 double y0 double x1 double y1 # int pl_flinerel ___P((double dx0, double dy0, double dx1, double dy1)); int pl_flinerel(dx0,dy0,dx1,dy1) double dx0 double dy0 double dx1 double dy1 # int pl_flinewidth ___P((double size)); int pl_flinewidth(size) double size # int pl_fmarker ___P((double x, double y, int type, double size)); int pl_fmarker(x,y,type,size) double x double y int type double size # int pl_fmarkerrel ___P((double dx, double dy, int type, double size)); int pl_fmarkerrel(dx,dy,type,size) double dx double dy int type double size # int pl_fmove ___P((double x, double y)); int pl_fmove(x,y) double x double y # int pl_fmoverel ___P((double dx, double dy)); int pl_fmoverel(dx,dy) double dx double dy # int pl_fpoint ___P((double x, double y)); int pl_fpoint(x,y) double x double y # int pl_fpointrel ___P((double dx, double dy)); int pl_fpointrel(dx,dy) double dx double dy # int pl_fspace ___P((double x0, double y0, double x1, double y1)); int pl_fspace(x0,y0,x1,y1) double x0 double y0 double x1 double y1 # int pl_fspace2 ___P((double x0, double y0, double x1, double y1, double x2, double y2)); int pl_fspace2(x0,y0,x1,y1,x2,y2) double x0 double y0 double x1 double y1 double x2 double y2 # int pl_fconcat ___P((double m0, double m1, double m2, double m3, double m4, double m5)); int pl_fconcat(m0,m1,m2,m3,m4,m5) double m0 double m1 double m2 double m3 double m4 double m5 # int pl_fmiterlimit ___P((double limit)); int pl_fmiterlimit(limit) double limit # int pl_frotate ___P((double theta)); int pl_frotate(theta) double theta # int pl_fscale ___P((double x, double y)); int pl_fscale(x,y) double x double y # int pl_ftranslate ___P((double x, double y)); int pl_ftranslate(x,y) double x double y # int pl_newpl ___P((___const char *type, FILE *infile, FILE *outfile, FILE *errfile)); int pl_newpl(type,infile,outfile,errfile) char *type FILE *infile FILE *outfile FILE *errfile # int pl_selectpl ___P((int handle)); int pl_selectpl(handle) int handle # int pl_deletepl ___P((int handle)); int pl_deletepl(handle) int handle # int pl_parampl ___P((___const char *parameter, void *value)); int pl_parampl(parameter,value) char *parameter char *value Graphics-Libplot-2.2.3/README0000644000175000017500000000212614132106616015470 0ustar osboxesosboxeslibplot-perl libplot-perl is copyrighted by John Lapeyre This program may be distributed only under the terms of the Gnu General Public License or the perl Artistic License. This is a perl module which allows the libplot plotting routines to be called from the perl scripting language. libplot currently takes relatively primitive graphics commands. Several output formats, including xfig, postscript and an X11 driver are available. (All the drivers in libplot seem to work.) In order to build this package, you need the libplot library to be built and installed. It is part of the plotutils package, available wherever fine FSF products are sold. http://www.gnu.org/software/plotutils/plotutils.html You need the plot.h header file as well as the shared library. On some systems, the module will build with perl Makefile.PL make make test make install This has been tested under Debian Gnu/Linux and on a DEC Alpha running Digital Unix. In the source tree is a directory, "examples" with a readme and some sample scripts. John Lapeyre Graphics-Libplot-2.2.3/MANIFEST0000644000175000017500000000100314132111356015727 0ustar osboxesosboxesChanges COPYING debian/changelog debian/control debian/copyright debian/NOTES.debian debian/README.debian debian/rules examples/ccurve examples/movingeye examples/README.examples examples/rothello examples/spiralbox examples/spiraltext INSTALL Libplot.pm Libplot.xs Makefile.PL MANIFEST README test.pl typemap util/plot.h util/trans util/transout META.yml Module YAML meta-data (added by MakeMaker) META.json Module JSON meta-data (added by MakeMaker) Graphics-Libplot-2.2.3/Makefile.PL0000644000175000017500000000141714132111113016550 0ustar osboxesosboxesuse strict; use warnings; use ExtUtils::MakeMaker; use Devel::CheckLib qw(check_lib_or_exit); check_lib_or_exit( lib => [ 'plot' ] ); WriteMakefile( NAME => 'Graphics::Libplot', VERSION_FROM => 'Libplot.pm', LIBS => '-lplot', AUTHOR => 'John Lapeyre ', META_MERGE => { "meta-spec" => { version => 2 }, resources => { bugtracker => {web=>'https://github.com/mohawk2/Graphics-Libplot/issues'}, repository => { url => 'git://github.com/mohawk2/Graphics-Libplot.git', type => 'git', web => 'https://github.com/mohawk2/Graphics-Libplot', }, x_IRC => 'irc://irc.perl.org/#pdl', }, }, CONFIGURE_REQUIRES => { 'Devel::CheckLib' => '1.14', }, ); Graphics-Libplot-2.2.3/examples/0000755000175000017500000000000014132111356016422 5ustar osboxesosboxesGraphics-Libplot-2.2.3/examples/spiraltext0000755000175000017500000000461414132106616020557 0ustar osboxesosboxes#!/usr/bin/perl use Graphics::Libplot ':ALL'; # type of plotting device $device = 'X'; if (@ARGV) { $device = $ARGV[0]; # die "Uknown device: $ARGV[0]" unless $ARGV[0] =~ /^ps|X|fig$/; } $SIZE=100.0; $EXPAND = 2.2; $M_PI= 3.14159265358979; # /* set a Plotter parameter */ pl_parampl("PAGESIZE", "letter"); # /* create a Postscript Plotter that writes to standard output */ pl_parampl ("BITMAPSIZE", "500x500"); if (($handle = pl_newpl ($device, stdin, stdout, stderr)) < 0) { die "Couldn't create Plotter"; } pl_selectpl ($handle); # /* select the Plotter for use */ if (pl_openpl () < 0) # /* open Plotter */ { die "Couldn't open Plotter"; } pl_fspace (-($SIZE), -($SIZE), $SIZE, $SIZE); #/* specify user coor system */ pl_pencolorname ("blue"); # /* pen color will be blue */ pl_fillcolorname ("white"); pl_filltype (1); # /* ellipses will be filled with white */ # fontname ("NewCenturySchlbk-Roman");# /* choose a Postscript font */ # fontname ("utopia-medium-r-normal");# /* choose a Postscript font */ pl_fontname ("HersheySerif");# /* choose a Postscript font */ { my $i; for ($i = 80; $i > 1; $i--) # /* loop through angles */ { $theta = 0.5 * $i; # /* theta is in radians */ $radius = $SIZE / ($theta**(0.35)); #/* this yields a spiral */ pl_fmove($radius * cos($theta), $radius * sin($theta)); draw_boxed_string("GNU libplot!", 0.04 * $radius,(180.0*$theta / $M_PI) - 90.0); } } if (pl_closepl () < 0) # /* close Plotter */ { die "Couldn't close Plotter"; } pl_selectpl (0); if (pl_deletepl ($handle) < 0) # /* delete Plotter we used */ { die "Couldn't delete Plotter"; } sub draw_boxed_string { my ($s,$size,$angle) = @_; my ($true_size,$width); pl_ftextangle($angle); #/* text inclination angle (degrees) */ $true_size = pl_ffontsize($size); #/* choose font size */ $width = pl_flabelwidth($s); #/* compute width of text string */ pl_fellipserel (0.0, 0.0, $EXPAND * 0.5 * $width, $EXPAND * 0.5 * $true_size, $angle); pl_alabel (ord 'c', ord 'c', $s); #/* draw centered text string */ } 1; #OK Graphics-Libplot-2.2.3/examples/movingeye0000755000175000017500000000317314132106616020361 0ustar osboxesosboxes#!/usr/bin/perl use Graphics::Libplot ':ALL'; # type of plotting device $device = 'X'; if (@ARGV) { $device = $ARGV[0]; # die "Uknown device: $ARGV[0]" unless $ARGV[0] =~ /^X$/; } pl_parampl ("VANISH_ON_DELETE", "yes"); pl_parampl ("USE_DOUBLE_BUFFERING", "yes"); if (($handle = pl_newpl ($device, stdin, stdout, stderr)) < 0) { die "Couldn't create Plotter"; } pl_selectpl($handle); # /* select the Plotter for use */ if (pl_openpl() < 0) # /* open Plotter */ { die "Couldn't open Plotter"; } pl_space(0, 0, 299, 149); # /* specify user coordinate system */ pl_parampl ("BITMAPSIZE", "300x150"); # Note a bug in XFree86 requires that the bitmap spec comes after newpl(). pl_linewidth (8); # /* width of lines in user coordinates */ pl_filltype (1); # /* objects will be filled */ pl_bgcolorname ("saddle brown"); # /* background color for the window */ for ($j = 0; $j < 300; $j++) { pl_erase (); # /* erase window */ pl_pencolorname ("red"); # /* choose red pen, with cyan filling */ pl_fillcolorname ("cyan"); pl_ellipse ($i, 75, 35, 50, $i); # /* draw an ellipse */ pl_colorname ("black"); # /* choose black pen, with black filling */ pl_circle ($i, 75, 12); # /* draw a circle [the pupil] */ $i = ($i + 2) % 300; # /* shift rightwards */ } if (pl_closepl () < 0) # /* close Plotter */ { die "Couldn't close Plotter"; } pl_selectpl (0); # /* select default Plotter */ if (pl_deletepl ($handle) < 0) # /* delete Plotter we used */ { die "Couldn't delete Plotter"; } 1; #OK Graphics-Libplot-2.2.3/examples/ccurve0000755000175000017500000000150614132106616017644 0ustar osboxesosboxes#!/usr/bin/perl use Graphics::Libplot ':ALL'; # type of plotting device $device = 'X'; if (@ARGV) { $device = $ARGV[0]; # die "Uknown device: $ARGV[0]" unless $ARGV[0] =~ /^ps|X|fig$/; } $MAXORDER =12; sub draw_c_curve { my($dx,$dy,$order) = @_; if ($order >= $MAXORDER) {pl_fcontrel ($dx, $dy); } else { draw_c_curve (0.5 * ($dx - $dy), 0.5 * ($dx + $dy), $order + 1); draw_c_curve (0.5 * ($dx + $dy), 0.5 * ($dy - $dx), $order + 1); } } $handle = pl_newpl($device, stdin, stdout, stderr); pl_selectpl ($handle); pl_openpl (); pl_fspace (0.0, 0.0, 1000.0, 1000.0); pl_flinewidth (0.25); pl_pencolorname ("red"); pl_erase (); pl_fmove (600.0, 300.0); draw_c_curve (0.0, 400.0, 0); pl_closepl () ; pl_selectpl (0); pl_deletepl ($handle); 1; #OK Graphics-Libplot-2.2.3/examples/rothello0000755000175000017500000000210014132106616020174 0ustar osboxesosboxes#!/usr/bin/perl use Graphics::Libplot ':ALL'; # type of plotting device $device = 'X'; if (@ARGV) { $device = $ARGV[0]; # die "Uknown device: $ARGV[0]" unless $ARGV[0] =~ /^ps|X|fig$/; } $handle = $angle = 0; # /* set Plotter parameters */ pl_parampl ("BITMAPSIZE", "300x300"); pl_parampl ("BG_COLOR", "blue"); # /* background color for window */ pl_parampl ("USE_DOUBLE_BUFFERING", "yes"); $handle = pl_newpl ($device, stdin, stdout, stderr); pl_selectpl ($handle); pl_openpl (); pl_fspace (0.0, 0.0, 1.0, 1.0); # /* use normalized coordinates */ pl_pencolorname ("white"); pl_ffontsize (0.2); pl_fontname ("NewCenturySchlbk-Roman"); pl_fmove (.50,.50); # /* move to center */ $x = 0; while ($x++ < 1000) # /* loop endlessly */ { pl_erase (); pl_textangle($angle++); # /* set new rotation angle */ pl_alabel(ord 'c', ord 'c', "Hello"); # /* draw a centered `A' */ } pl_closepl(); # /* close Plotter */ pl_selectpl (0); # /* select default Plotter */ pl_deletepl ($handle); 1; # OK Graphics-Libplot-2.2.3/examples/spiralbox0000755000175000017500000000144014132106616020355 0ustar osboxesosboxes#!/usr/bin/perl use Graphics::Libplot ':ALL'; # type of plotting device $device = 'X'; if (@ARGV) { $device = $ARGV[0]; # die "Uknown device: $ARGV[0]" unless $ARGV[0] =~ /^ps|X|fig$/; } { # environment for local variables my $SIZE=100; my ($i,$f,$s,$sf); pl_parampl ("BITMAPSIZE", "700x700"); $handle = pl_newpl($device, stdin, stdout, stderr); # open xwindow display pl_selectpl($handle); pl_openpl(); pl_fspace(-$SIZE,-$SIZE, $SIZE, $SIZE); # specify user coord system pl_pencolorname ("blue"); pl_fontname("HersheySerif"); $s = 10; $f = 10; $sf = 1- .0012; for($i=1;$i<3000;$i++){ pl_fscale($sf,$sf); pl_fbox(60+$s*sin($i/$f), 60+$s*sin($i/$f), 75-$s*cos($i/$f), 75-$s*cos($i/$f)); pl_frotate(1); } } pl_closepl(); pl_selectpl(0); pl_deletepl($handle); 1; #OK Graphics-Libplot-2.2.3/examples/README.examples0000644000175000017500000000071214132106616021122 0ustar osboxesosboxesThese examples can be run at the command line. If perl is not in /usr/bin/perl, they can be run with "perl name" They are also called by the test.pl script. For this reason some of the variables in a script are made local when there is no apparant reason. Some of them take the device type as an optional argument. eg, ccurve X ccurve ps Possible devices are "png", "pnm", "gif", "svg", "ai", "cgm", "fig", "pcl", "hpgl", "regis", "tek", or "meta" . Graphics-Libplot-2.2.3/util/0000755000175000017500000000000014132111356015561 5ustar osboxesosboxesGraphics-Libplot-2.2.3/util/trans0000755000175000017500000000163214132106616016643 0ustar osboxesosboxes#!/usr/bin/perl =pod Translate the header file plot.h to xsub declarations. use with gnu libplot =cut while(<>) { next unless /^int|^double|^FILE/; chomp; print "# $_ \n"; ($return_type,$name,$arglist) = /(\S+)\s+(\w+)\s*___P\s*\(\(([^\)]*)\)\)/; @args = split('\s*,\s*',$arglist); @argtype=(); @argname=(); foreach $arg (@args) { $arg =~ s/___const\s+//g; $arg =~ s/^s*//; $arg =~ s/\s*$//; ($argtype,$argname) = split('\s+',$arg); next unless defined $argtype and defined $argname; push @argtype,$argtype; push @argname,$argname; } print $return_type,"\n"; print "$name("; # print "$name\n"; for($i=0;$i<@argname;$i++) { $outname = $argname[$i]; $outname =~ s/\*//g; print $outname; print "," unless $i == $#argname; } print ")\n"; for($i=0;$i<@argname;$i++) { print " $argtype[$i] $argname[$i]\n"; } print "\n\n"; } Graphics-Libplot-2.2.3/util/transout0000644000175000017500000003245214132106616017374 0ustar osboxesosboxes# int pl_arc ___P((int xc, int yc, int x0, int y0, int x1, int y1)); int pl_arc(xc,yc,x0,y0,x1,y1) int xc int yc int x0 int y0 int x1 int y1 # int pl_box ___P((int x0, int y0, int x1, int y1)); /* no op code, originally */ int pl_box(x0,y0,x1,y1) int x0 int y0 int x1 int y1 # int pl_circle ___P((int x, int y, int r)); int pl_circle(x,y,r) int x int y int r # int pl_closepl ___P((void)); /* no op code, originally */ int pl_closepl() # int pl_cont ___P((int x, int y)); int pl_cont(x,y) int x int y # int pl_erase ___P((void)); int pl_erase() # int pl_label ___P((___const char *s)); int pl_label(s) char *s # int pl_line ___P((int x0, int y0, int x1, int y1)); int pl_line(x0,y0,x1,y1) int x0 int y0 int x1 int y1 # int pl_linemod ___P((___const char *s)); int pl_linemod(s) char *s # int pl_move ___P((int x, int y)); int pl_move(x,y) int x int y # int pl_openpl ___P((void)); /* no op code, originally */ int pl_openpl() # int pl_point ___P((int x, int y)); int pl_point(x,y) int x int y # int pl_space ___P((int x0, int y0, int x1, int y1)); int pl_space(x0,y0,x1,y1) int x0 int y0 int x1 int y1 # FILE* pl_outfile ___P((FILE* outfile));/* OBSOLESCENT */ FILE* pl_outfile(outfile) FILE* outfile # int pl_alabel ___P((int x_justify, int y_justify, ___const char *s)); int pl_alabel(x_justify,y_justify,s) int x_justify int y_justify char *s # int pl_arcrel ___P((int dxc, int dyc, int dx0, int dy0, int dx1, int dy1)); int pl_arcrel(dxc,dyc,dx0,dy0,dx1,dy1) int dxc int dyc int dx0 int dy0 int dx1 int dy1 # int pl_bezier2 ___P((int x0, int y0, int x1, int y1, int x2, int y2)); int pl_bezier2(x0,y0,x1,y1,x2,y2) int x0 int y0 int x1 int y1 int x2 int y2 # int pl_bezier2rel ___P((int dx0, int dy0, int dx1, int dy1, int dx2, int dy2)); int pl_bezier2rel(dx0,dy0,dx1,dy1,dx2,dy2) int dx0 int dy0 int dx1 int dy1 int dx2 int dy2 # int pl_bezier3 ___P((int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3)); int pl_bezier3(x0,y0,x1,y1,x2,y2,x3,y3) int x0 int y0 int x1 int y1 int x2 int y2 int x3 int y3 # int pl_bezier3rel ___P((int dx0, int dy0, int dx1, int dy1, int dx2, int dy2, int dx3, int dy3)); int pl_bezier3rel(dx0,dy0,dx1,dy1,dx2,dy2,dx3,dy3) int dx0 int dy0 int dx1 int dy1 int dx2 int dy2 int dx3 int dy3 # int pl_bgcolor ___P((int red, int green, int blue)); int pl_bgcolor(red,green,blue) int red int green int blue # int pl_bgcolorname ___P((___const char *name)); int pl_bgcolorname(name) char *name # int pl_boxrel ___P((int dx0, int dy0, int dx1, int dy1)); int pl_boxrel(dx0,dy0,dx1,dy1) int dx0 int dy0 int dx1 int dy1 # int pl_capmod ___P((___const char *s)); int pl_capmod(s) char *s # int pl_circlerel ___P((int dx, int dy, int r)); int pl_circlerel(dx,dy,r) int dx int dy int r # int pl_color ___P((int red, int green, int blue)); int pl_color(red,green,blue) int red int green int blue # int pl_colorname ___P((___const char *name)); int pl_colorname(name) char *name # int pl_contrel ___P((int x, int y)); int pl_contrel(x,y) int x int y # int pl_ellarc ___P((int xc, int yc, int x0, int y0, int x1, int y1)); int pl_ellarc(xc,yc,x0,y0,x1,y1) int xc int yc int x0 int y0 int x1 int y1 # int pl_ellarcrel ___P((int dxc, int dyc, int dx0, int dy0, int dx1, int dy1)); int pl_ellarcrel(dxc,dyc,dx0,dy0,dx1,dy1) int dxc int dyc int dx0 int dy0 int dx1 int dy1 # int pl_ellipse ___P((int x, int y, int rx, int ry, int angle)); int pl_ellipse(x,y,rx,ry,angle) int x int y int rx int ry int angle # int pl_ellipserel ___P((int dx, int dy, int rx, int ry, int angle)); int pl_ellipserel(dx,dy,rx,ry,angle) int dx int dy int rx int ry int angle # int pl_endpath ___P((void)); int pl_endpath() # int pl_fillcolor ___P((int red, int green, int blue)); int pl_fillcolor(red,green,blue) int red int green int blue # int pl_fillcolorname ___P((___const char *name)); int pl_fillcolorname(name) char *name # int pl_fillmod ___P((___const char *s)); int pl_fillmod(s) char *s # int pl_filltype ___P((int level)); int pl_filltype(level) int level # int pl_flushpl ___P((void)); int pl_flushpl() # int pl_fontname ___P((___const char *s)); int pl_fontname(s) char *s # int pl_fontsize ___P((int size)); int pl_fontsize(size) int size # int pl_havecap ___P((___const char *s)); int pl_havecap(s) char *s # int pl_joinmod ___P((___const char *s)); int pl_joinmod(s) char *s # int pl_labelwidth ___P((___const char *s)); int pl_labelwidth(s) char *s # int pl_linedash ___P((int n, const int *dashes, int offset)); int pl_linedash(n,int,offset) int n const int int offset # int pl_linerel ___P((int dx0, int dy0, int dx1, int dy1)); int pl_linerel(dx0,dy0,dx1,dy1) int dx0 int dy0 int dx1 int dy1 # int pl_linewidth ___P((int size)); int pl_linewidth(size) int size # int pl_marker ___P((int x, int y, int type, int size)); int pl_marker(x,y,type,size) int x int y int type int size # int pl_markerrel ___P((int dx, int dy, int type, int size)); int pl_markerrel(dx,dy,type,size) int dx int dy int type int size # int pl_moverel ___P((int x, int y)); int pl_moverel(x,y) int x int y # int pl_pencolor ___P((int red, int green, int blue)); int pl_pencolor(red,green,blue) int red int green int blue # int pl_pencolorname ___P((___const char *name)); int pl_pencolorname(name) char *name # int pl_pointrel ___P((int dx, int dy)); int pl_pointrel(dx,dy) int dx int dy # int pl_restorestate ___P((void)); int pl_restorestate() # int pl_savestate ___P((void)); int pl_savestate() # int pl_space2 ___P((int x0, int y0, int x1, int y1, int x2, int y2)); int pl_space2(x0,y0,x1,y1,x2,y2) int x0 int y0 int x1 int y1 int x2 int y2 # int pl_textangle ___P((int angle)); int pl_textangle(angle) int angle # double pl_ffontname ___P((___const char *s)); double pl_ffontname(s) char *s # double pl_ffontsize ___P((double size)); double pl_ffontsize(size) double size # double pl_flabelwidth ___P((___const char *s)); double pl_flabelwidth(s) char *s # double pl_ftextangle ___P((double angle)); double pl_ftextangle(angle) double angle # int pl_farc ___P((double xc, double yc, double x0, double y0, double x1, double y1)); int pl_farc(xc,yc,x0,y0,x1,y1) double xc double yc double x0 double y0 double x1 double y1 # int pl_farcrel ___P((double dxc, double dyc, double dx0, double dy0, double dx1, double dy1)); int pl_farcrel(dxc,dyc,dx0,dy0,dx1,dy1) double dxc double dyc double dx0 double dy0 double dx1 double dy1 # int pl_fbezier2 ___P((double x0, double y0, double x1, double y1, double x2, double y2)); int pl_fbezier2(x0,y0,x1,y1,x2,y2) double x0 double y0 double x1 double y1 double x2 double y2 # int pl_fbezier2rel ___P((double dx0, double dy0, double dx1, double dy1, double dx2, double dy2)); int pl_fbezier2rel(dx0,dy0,dx1,dy1,dx2,dy2) double dx0 double dy0 double dx1 double dy1 double dx2 double dy2 # int pl_fbezier3 ___P((double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3)); int pl_fbezier3(x0,y0,x1,y1,x2,y2,x3,y3) double x0 double y0 double x1 double y1 double x2 double y2 double x3 double y3 # int pl_fbezier3rel ___P((double dx0, double dy0, double dx1, double dy1, double dx2, double dy2, double dx3, double dy3)); int pl_fbezier3rel(dx0,dy0,dx1,dy1,dx2,dy2,dx3,dy3) double dx0 double dy0 double dx1 double dy1 double dx2 double dy2 double dx3 double dy3 # int pl_fbox ___P((double x0, double y0, double x1, double y1)); int pl_fbox(x0,y0,x1,y1) double x0 double y0 double x1 double y1 # int pl_fboxrel ___P((double dx0, double dy0, double dx1, double dy1)); int pl_fboxrel(dx0,dy0,dx1,dy1) double dx0 double dy0 double dx1 double dy1 # int pl_fcircle ___P((double x, double y, double r)); int pl_fcircle(x,y,r) double x double y double r # int pl_fcirclerel ___P((double dx, double dy, double r)); int pl_fcirclerel(dx,dy,r) double dx double dy double r # int pl_fcont ___P((double x, double y)); int pl_fcont(x,y) double x double y # int pl_fcontrel ___P((double dx, double dy)); int pl_fcontrel(dx,dy) double dx double dy # int pl_fellarc ___P((double xc, double yc, double x0, double y0, double x1, double y1)); int pl_fellarc(xc,yc,x0,y0,x1,y1) double xc double yc double x0 double y0 double x1 double y1 # int pl_fellarcrel ___P((double dxc, double dyc, double dx0, double dy0, double dx1, double dy1)); int pl_fellarcrel(dxc,dyc,dx0,dy0,dx1,dy1) double dxc double dyc double dx0 double dy0 double dx1 double dy1 # int pl_fellipse ___P((double x, double y, double rx, double ry, double angle)); int pl_fellipse(x,y,rx,ry,angle) double x double y double rx double ry double angle # int pl_fellipserel ___P((double dx, double dy, double rx, double ry, double angle)); int pl_fellipserel(dx,dy,rx,ry,angle) double dx double dy double rx double ry double angle # int pl_flinedash ___P((int n, const double *dashes, double offset)); int pl_flinedash(n,double,offset) int n const double double offset # int pl_fline ___P((double x0, double y0, double x1, double y1)); int pl_fline(x0,y0,x1,y1) double x0 double y0 double x1 double y1 # int pl_flinerel ___P((double dx0, double dy0, double dx1, double dy1)); int pl_flinerel(dx0,dy0,dx1,dy1) double dx0 double dy0 double dx1 double dy1 # int pl_flinewidth ___P((double size)); int pl_flinewidth(size) double size # int pl_fmarker ___P((double x, double y, int type, double size)); int pl_fmarker(x,y,type,size) double x double y int type double size # int pl_fmarkerrel ___P((double dx, double dy, int type, double size)); int pl_fmarkerrel(dx,dy,type,size) double dx double dy int type double size # int pl_fmove ___P((double x, double y)); int pl_fmove(x,y) double x double y # int pl_fmoverel ___P((double dx, double dy)); int pl_fmoverel(dx,dy) double dx double dy # int pl_fpoint ___P((double x, double y)); int pl_fpoint(x,y) double x double y # int pl_fpointrel ___P((double dx, double dy)); int pl_fpointrel(dx,dy) double dx double dy # int pl_fspace ___P((double x0, double y0, double x1, double y1)); int pl_fspace(x0,y0,x1,y1) double x0 double y0 double x1 double y1 # int pl_fspace2 ___P((double x0, double y0, double x1, double y1, double x2, double y2)); int pl_fspace2(x0,y0,x1,y1,x2,y2) double x0 double y0 double x1 double y1 double x2 double y2 # int pl_fconcat ___P((double m0, double m1, double m2, double m3, double m4, double m5)); int pl_fconcat(m0,m1,m2,m3,m4,m5) double m0 double m1 double m2 double m3 double m4 double m5 # int pl_fmiterlimit ___P((double limit)); int pl_fmiterlimit(limit) double limit # int pl_frotate ___P((double theta)); int pl_frotate(theta) double theta # int pl_fscale ___P((double x, double y)); int pl_fscale(x,y) double x double y # int pl_ftranslate ___P((double x, double y)); int pl_ftranslate(x,y) double x double y # int pl_newpl ___P((___const char *type, FILE *infile, FILE *outfile, FILE *errfile)); int pl_newpl(type,infile,outfile,errfile) char *type FILE *infile FILE *outfile FILE *errfile # int pl_selectpl ___P((int handle)); int pl_selectpl(handle) int handle # int pl_deletepl ___P((int handle)); int pl_deletepl(handle) int handle # int pl_parampl ___P((___const char *parameter, char *value)); int pl_parampl(parameter,value) char *parameter char *value # int pl_parampl ___P((___const char *parameter, void *value)); int pl_parampl(parameter,value) char *parameter void *value Graphics-Libplot-2.2.3/util/plot.h0000644000175000017500000002635514132106616016726 0ustar osboxesosboxes/* This is "plot.h", the public header file for GNU libplot, a shared library for 2-dimensional vector graphics. */ /* stdio.h must be included before this file is included. */ /* This file is written for ANSI C compilers. If you use it with a pre-ANSI C compiler that does not support the `const' keyword, such as the `cc' compiler supplied with SunOS (i.e., Solaris 1.x), you should use the -DNO_CONST_SUPPORT option when compiling your code. */ #ifndef _PLOT_H_ #define _PLOT_H_ 1 /***********************************************************************/ /* This version of plot.h accompanies GNU libplot version 2.0 */ #define LIBPLOT_VERSION "2.0" /* support C++ */ #ifdef __BEGIN_DECLS #undef __BEGIN_DECLS #endif #ifdef __END_DECLS #undef __END_DECLS #endif #ifdef __cplusplus # define __BEGIN_DECLS extern "C" { # define __END_DECLS } #else # define __BEGIN_DECLS /* empty */ # define __END_DECLS /* empty */ #endif /* ___P is a macro used to wrap function prototypes, so that compilers that don't understand ANSI C prototypes still work, and ANSI C compilers can issue warnings about type mismatches. */ #ifdef ___P #undef ___P #endif #if defined (__STDC__) || defined (_AIX) \ || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ || defined(WIN32) || defined(__cplusplus) #define ___P(protos) protos #else #define ___P(protos) () #endif /* For old compilers (e.g. SunOS) */ #ifdef ___const #undef ___const #endif #ifdef NO_CONST_SUPPORT #define ___const #else #define ___const const #endif __BEGIN_DECLS /* THE C API */ /* THE GLOBAL FUNCTIONS IN GNU LIBPLOT */ /* There are 92 basic functions, plus 4 that are specific to the C binding */ /* 13 functions in traditional (pre-GNU) libplot */ int pl_arc ___P((int xc, int yc, int x0, int y0, int x1, int y1)); int pl_box ___P((int x0, int y0, int x1, int y1)); /* no op code, originally */ int pl_circle ___P((int x, int y, int r)); int pl_closepl ___P((void)); /* no op code, originally */ int pl_cont ___P((int x, int y)); int pl_erase ___P((void)); int pl_label ___P((___const char *s)); int pl_line ___P((int x0, int y0, int x1, int y1)); int pl_linemod ___P((___const char *s)); int pl_move ___P((int x, int y)); int pl_openpl ___P((void)); /* no op code, originally */ int pl_point ___P((int x, int y)); int pl_space ___P((int x0, int y0, int x1, int y1)); /* 42 additional functions in GNU libplot, plus an obsolescent one */ FILE* pl_outfile ___P((FILE* outfile));/* OBSOLESCENT */ int pl_alabel ___P((int x_justify, int y_justify, ___const char *s)); int pl_arcrel ___P((int dxc, int dyc, int dx0, int dy0, int dx1, int dy1)); int pl_bezier2 ___P((int x0, int y0, int x1, int y1, int x2, int y2)); int pl_bezier2rel ___P((int dx0, int dy0, int dx1, int dy1, int dx2, int dy2)); int pl_bezier3 ___P((int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3)); int pl_bezier3rel ___P((int dx0, int dy0, int dx1, int dy1, int dx2, int dy2, int dx3, int dy3)); int pl_bgcolor ___P((int red, int green, int blue)); int pl_bgcolorname ___P((___const char *name)); int pl_boxrel ___P((int dx0, int dy0, int dx1, int dy1)); int pl_capmod ___P((___const char *s)); int pl_circlerel ___P((int dx, int dy, int r)); int pl_color ___P((int red, int green, int blue)); int pl_colorname ___P((___const char *name)); int pl_contrel ___P((int x, int y)); int pl_ellarc ___P((int xc, int yc, int x0, int y0, int x1, int y1)); int pl_ellarcrel ___P((int dxc, int dyc, int dx0, int dy0, int dx1, int dy1)); int pl_ellipse ___P((int x, int y, int rx, int ry, int angle)); int pl_ellipserel ___P((int dx, int dy, int rx, int ry, int angle)); int pl_endpath ___P((void)); int pl_fillcolor ___P((int red, int green, int blue)); int pl_fillcolorname ___P((___const char *name)); int pl_fillmod ___P((___const char *s)); int pl_filltype ___P((int level)); int pl_flushpl ___P((void)); int pl_fontname ___P((___const char *s)); int pl_fontsize ___P((int size)); int pl_havecap ___P((___const char *s)); int pl_joinmod ___P((___const char *s)); int pl_labelwidth ___P((___const char *s)); int pl_linedash ___P((int n, const int *dashes, int offset)); int pl_linerel ___P((int dx0, int dy0, int dx1, int dy1)); int pl_linewidth ___P((int size)); int pl_marker ___P((int x, int y, int type, int size)); int pl_markerrel ___P((int dx, int dy, int type, int size)); int pl_moverel ___P((int x, int y)); int pl_pencolor ___P((int red, int green, int blue)); int pl_pencolorname ___P((___const char *name)); int pl_pointrel ___P((int dx, int dy)); int pl_restorestate ___P((void)); int pl_savestate ___P((void)); int pl_space2 ___P((int x0, int y0, int x1, int y1, int x2, int y2)); int pl_textangle ___P((int angle)); /* 32 floating point counterparts to some of the above (all GNU additions) */ double pl_ffontname ___P((___const char *s)); double pl_ffontsize ___P((double size)); double pl_flabelwidth ___P((___const char *s)); double pl_ftextangle ___P((double angle)); int pl_farc ___P((double xc, double yc, double x0, double y0, double x1, double y1)); int pl_farcrel ___P((double dxc, double dyc, double dx0, double dy0, double dx1, double dy1)); int pl_fbezier2 ___P((double x0, double y0, double x1, double y1, double x2, double y2)); int pl_fbezier2rel ___P((double dx0, double dy0, double dx1, double dy1, double dx2, double dy2)); int pl_fbezier3 ___P((double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3)); int pl_fbezier3rel ___P((double dx0, double dy0, double dx1, double dy1, double dx2, double dy2, double dx3, double dy3)); int pl_fbox ___P((double x0, double y0, double x1, double y1)); int pl_fboxrel ___P((double dx0, double dy0, double dx1, double dy1)); int pl_fcircle ___P((double x, double y, double r)); int pl_fcirclerel ___P((double dx, double dy, double r)); int pl_fcont ___P((double x, double y)); int pl_fcontrel ___P((double dx, double dy)); int pl_fellarc ___P((double xc, double yc, double x0, double y0, double x1, double y1)); int pl_fellarcrel ___P((double dxc, double dyc, double dx0, double dy0, double dx1, double dy1)); int pl_fellipse ___P((double x, double y, double rx, double ry, double angle)); int pl_fellipserel ___P((double dx, double dy, double rx, double ry, double angle)); int pl_flinedash ___P((int n, const double *dashes, double offset)); int pl_fline ___P((double x0, double y0, double x1, double y1)); int pl_flinerel ___P((double dx0, double dy0, double dx1, double dy1)); int pl_flinewidth ___P((double size)); int pl_fmarker ___P((double x, double y, int type, double size)); int pl_fmarkerrel ___P((double dx, double dy, int type, double size)); int pl_fmove ___P((double x, double y)); int pl_fmoverel ___P((double dx, double dy)); int pl_fpoint ___P((double x, double y)); int pl_fpointrel ___P((double dx, double dy)); int pl_fspace ___P((double x0, double y0, double x1, double y1)); int pl_fspace2 ___P((double x0, double y0, double x1, double y1, double x2, double y2)); /* 5 floating point operations with no integer counterpart (GNU additions) */ int pl_fconcat ___P((double m0, double m1, double m2, double m3, double m4, double m5)); int pl_fmiterlimit ___P((double limit)); int pl_frotate ___P((double theta)); int pl_fscale ___P((double x, double y)); int pl_ftranslate ___P((double x, double y)); /* 4 functions specific to the C binding (for construction/destruction of Plotters, and setting of Plotter parameters) */ int pl_newpl ___P((___const char *type, FILE *infile, FILE *outfile, FILE *errfile)); int pl_selectpl ___P((int handle)); int pl_deletepl ___P((int handle)); #ifdef NO_VOID_SUPPORT int pl_parampl ___P((___const char *parameter, char *value)); #else int pl_parampl ___P((___const char *parameter, void *value)); #endif __END_DECLS /* THE GLOBAL VARIABLES IN GNU LIBPLOT */ /* There are two; both are user-settable error handlers. */ extern int (*libplot_warning_handler) ___P((___const char *msg)); extern int (*libplot_error_handler) ___P((___const char *msg)); #undef ___const #undef ___P /***********************************************************************/ #ifndef _PLOTTER_H_ /* allow inclusion of both plot.h, plotter.h */ /* Symbol types for the marker() function, extending over the range 0..31. (1 through 5 are the same as in the GKS [Graphical Kernel System].) These are now defined as enums rather than ints. Cast them to ints if necessary. */ enum { M_NONE, M_DOT, M_PLUS, M_ASTERISK, M_CIRCLE, M_CROSS, M_SQUARE, M_TRIANGLE, M_DIAMOND, M_STAR, M_INVERTED_TRIANGLE, M_STARBURST, M_FANCY_PLUS, M_FANCY_CROSS, M_FANCY_SQUARE, M_FANCY_DIAMOND, M_FILLED_CIRCLE, M_FILLED_SQUARE, M_FILLED_TRIANGLE, M_FILLED_DIAMOND, M_FILLED_INVERTED_TRIANGLE, M_FILLED_FANCY_SQUARE, M_FILLED_FANCY_DIAMOND, M_HALF_FILLED_CIRCLE, M_HALF_FILLED_SQUARE, M_HALF_FILLED_TRIANGLE, M_HALF_FILLED_DIAMOND, M_HALF_FILLED_INVERTED_TRIANGLE, M_HALF_FILLED_FANCY_SQUARE, M_HALF_FILLED_FANCY_DIAMOND, M_OCTAGON, M_FILLED_OCTAGON }; /* ONE-BYTE OPERATION CODES FOR GNU METAFILE FORMAT. These are now defined as enums rather than ints. Cast them to ints if necessary. There are 80 currently used op codes, including 30 that are used only in binary metafiles, not in portable metafiles. */ enum { /* 10 op codes for primitive graphics operations, as in Unix plot(5) format. */ O_ARC = 'a', O_CIRCLE = 'c', O_CONT = 'n', O_ERASE = 'e', O_LABEL = 't', O_LINEMOD = 'f', O_LINE = 'l', O_MOVE = 'm', O_POINT = 'p', O_SPACE = 's', /* 38 op codes that are GNU extensions */ O_ALABEL = 'T', O_ARCREL = 'A', O_BEZIER2 = 'q', O_BEZIER2REL = 'r', O_BEZIER3 = 'y', O_BEZIER3REL = 'z', O_BGCOLOR = '~', O_BOX = 'B', /* not an op code in Unix plot(5) */ O_BOXREL = 'H', O_CAPMOD = 'K', O_CIRCLEREL = 'G', O_CLOSEPL = 'x', /* not an op code in Unix plot(5) */ O_COMMENT = '#', O_CONTREL = 'N', O_ELLARC = '?', O_ELLARCREL = '/', O_ELLIPSE = '+', O_ELLIPSEREL = '=', O_ENDPATH = 'E', O_FILLTYPE = 'L', O_FILLCOLOR = 'D', O_FILLMOD = 'g', O_FONTNAME = 'F', O_FONTSIZE = 'S', O_JOINMOD = 'J', O_LINEDASH = 'd', O_LINEREL = 'I', O_LINEWIDTH = 'W', O_MARKER = 'Y', O_MARKERREL = 'Z', O_MOVEREL = 'M', O_OPENPL = 'o', /* not an op code in Unix plot(5) */ O_PENCOLOR = '-', O_POINTREL = 'P', O_RESTORESTATE= 'O', O_SAVESTATE = 'U', O_SPACE2 = ':', O_TEXTANGLE = 'R', /* 30 floating point counterparts to some of the above. Used only in binary GNU metafile format, not in portable (human-readable) metafile format, so they are not even slightly mnemonic. */ O_FARC = '1', O_FARCREL = '2', O_FBEZIER2 = '`', O_FBEZIER2REL = '\'', O_FBEZIER3 = ',', O_FBEZIER3REL = '.', O_FBOX = '3', O_FBOXREL = '4', O_FCIRCLE = '5', O_FCIRCLEREL = '6', O_FCONT = ')', O_FCONTREL = '_', O_FELLARC = '}', O_FELLARCREL = '|', O_FELLIPSE = '{', O_FELLIPSEREL = '[', O_FFONTSIZE = '7', O_FLINE = '8', O_FLINEDASH = 'w', O_FLINEREL = '9', O_FLINEWIDTH = '0', O_FMARKER = '!', O_FMARKERREL = '@', O_FMOVE = '$', O_FMOVEREL = '%', O_FPOINT = '^', O_FPOINTREL = '&', O_FSPACE = '*', O_FSPACE2 = ';', O_FTEXTANGLE = '(', /* 2 op codes for floating point operations with no integer counterpart */ O_FCONCAT = '\\', O_FMITERLIMIT = 'i' }; #endif /* not _PLOTTER_H_ */ /***********************************************************************/ #endif /* not _PLOT_H_ */