[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] 20080608.02.tpd.patch (remove gdraws directory, use bo
From: |
daly |
Subject: |
[Axiom-developer] 20080608.02.tpd.patch (remove gdraws directory, use bookvol8) |
Date: |
Sat, 7 Jun 2008 21:41:25 -0500 |
remove gdraws directory, use bookvol8
========================================================================
diff --git a/changelog b/changelog
index 68f5eab..af63055 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,12 @@
+20080608 tpd src/graph/gdraws/Makefile deleted, (use bookvol8)
+20080608 tpd src/graph/gdraws/data.c deleted, (use bookvol8)
+20080608 tpd src/graph/gdraws/gdraws0.h deleted, (use bookvol8)
+20080608 tpd src/graph/gdraws/gfun.c deleted, (use bookvol8)
+20080608 tpd src/graph/gdraws/loadfont.c deleted, (use bookvol8)
+20080608 tpd src/graph/gdraws/main.c deleted, (use bookvol8)
+20080608 tpd src/graph/gdraws/menu.c deleted, (use bookvol8)
+20080608 tpd src/graph/gdraws/psfiles deleted, (use bookvol8)
+20080608 tpd src/graph/gdraws/yesorno.c deleted, (use bookvol8)
20080608 tpd books/bookvol8 make gdraws
20080608 tpd src/graph/Makefile make gdraws
20080607 tpd FAQ 48: Getting Axiom sources from git
diff --git a/src/graph/gdraws/Makefile.pamphlet
b/src/graph/gdraws/Makefile.pamphlet
deleted file mode 100644
index dee8ca1..0000000
--- a/src/graph/gdraws/Makefile.pamphlet
+++ /dev/null
@@ -1,373 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/graph/gdraws Makefile}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{gdraws}
-This directory consists of all the Gdraw functions along with a local
-testing protocol to test out these functions.
-The subdirectory PS contains all the ps drawing functions in support of
-the Gdraw functions.
-
-\subsection{GDRAW}
-
-A Gdraw function, using a draw option dFlsg as input, provides drawings
-capability on different output devices. Currently, Gdraw supports routines
-both in Xwindows functions, and in postscript functions on
-a postscript printer/interpreter.
-
-The general drawing functions are (see file for description of functionality)
-\begin{verbatim}
- 1. Gdrawarc.c
- 2. Gdrawstring.c
- 3. Gdraw.c
- 4. Gdrawline.c
- 5. Gdrfilled.c
- 6. GdrawFrame.c
- 7. Gdrawlines.c
- 8. Gfillarc.c
- 9. GdrawIstr.c
- 10. Gdrawrect.c
- 11. Gmisc.c
- 12. GinitPS.c
- 13. GCreatePS.c
- 14. PSFill.c
- 15. ../include/g.h
- header information needed by all the Gdraw routines and
- view3d/view2d as well.
- 16. ps.h
- header information needed by only the Gdraw routines.
-
-\subsection{POSTSCRIPT}
-
-A PostScript file can be generated by using a button on the control
-panel of a viewalone picture, or in Axiom, with the command write,
-option Postscript. This file can be submitted to the postsctipt
-printer to be printed, or viewed using the postscript interpreter.
-It will draw a window, title, and picture clipped to fit inside of the
-window.
-
-In order to generate a postscript output, we first initializ file names and
-paths to be used by our program by using
-\begin{verbatim}
- InitPs(viewWindow, titleWindow) [in GinitPS.c]
-\end{verbatim}
-then call the G draw routines with option "PS", which would generate postscript
-drawing commands. Then create the output file (OUTPUT.ps by default) by using
-\begin{verbatim}
- makePSfile(viewWindow, titleWindow, title) [in GcreatePS.c]
-\end{verbatim}
-
-The output file would be in local directory, i.e., the directory where Axiom
-or viewalone, etc., was started up.
-
-The following routines are used to test out the Gdraw functions:
-\begin{verbatim}
-1. main.c creates windows, and titles and processes Xwindow events.
-2. data.c creates data for drawing and call Gdraw routines.
-3. menu.c draws menu when mouse clicks in viewWindow
-4. yesorno.c determines if mouse click in menu means "yes" or "no".
-5. loadfont.c loads font for display
-\end{verbatim}
-
-The Gdraw routines have been written in such a way that they are usable by
-both view3d and view2d.
-
-\subsection{TO USE G FUNCTIONS}
-
-In order to draw in postscript, use GSetForeground to set the foreground
-colors for the drawing (and fill) functions. Use GSetLineAttributes
-to set line attributes. And finally, replace the XDraw commands with the
-corresponding GDraw commands with the appropriate parameters. In addition,
-we need to: draw frame, set GC variable names, create GCs, initialize
-postscript data structures, cat all the procedures used together.
-
-{\bf IMPORTANT}:\\
-In order to create postscript command file, we need environment
-variable DEVE (i.e., setenv DEVE /u/jimwen/3D/version28) or SPAD (e.g., setenv
-SPAD /spad/mnt/rt in case gdraws directory has been installed on the server).
-Without this path, the program would not know where the postscript files (in
-gdraws/PS) are.
-
-{\bf LIMITATIONS} of current implementation:\\
-A picture is printed with 1 inch x direction, and 1 inch y direction
-offset, and the largest complete picutre is the size of the page
-with the offest.
-
-{\bf BUGS}:\\
-The region box is not drawn correctly when perspective is altered.
-
-
-{\bf FUTURE DIRECTIONS}:
-\begin{itemize}
-\item for view3d color rendering, may want to convert LINE drawing color
-to the appropriate grayscale. Right now, they're all drawn in black.
-\item for view3d's routines for color rendering, may want to implement
-color drawing for postscript functions just in case someone does
-have access to a color postscript printer.
-\item implement more functionality for attributes used in GC, i.e., dashed
-line, dotted line etc.
-\item implement a display postscript menu to set things like picture size,
-landscape/portrait orientation, picture centered, left, right, up,
-down, etc., reversed video.
-\item make font an attribute in postscripts's graphics context so the
-font can be set in user program. Right now, it uses only 1 font.
-\item for view2d's stuff, implement a smaller font for the drawing the
-units on the axes.
-\end{itemize}
-
-\section{environment variables}
-<<environment>>=
-IN= ${SRC}/graph/gdraws
-MIDINT= ${INT}/graph/gdraws
-MIDOBJ= ${OBJ}/${SYS}/graph/gdraws
-OUT= ${MNT}/${SYS}/lib
-PS= ${MNT}/${SYS}/lib/graph
-DOC= ${MNT}/${SYS}/doc/src/graph
-
-# local include files shared by graphics
-LINC= ${SRC}/graph/include
-
-# global include files shared by everyone
-GINC= ${SRC}/include
-
-# include files in Hyperdoc
-HINC= ${SRC}/hyper
-
-# bitmaps for cursors
-BIT= ${SRC}/graph/include/bitmaps
-
-# a .h file stuck in a really wierd place
-DOTH= ${SRC}/graph/viewman
-
-# a .c file in the library subdirectory
-DOTC= ${SRC}/lib
-
-@
-\section{Gdraw code}
-\subsection{gfun}
-<<gfun.c (MIDINT from IN)>>=
-${MIDINT}/gfun.c: ${IN}/gfun.c.pamphlet
- @ echo 1 making ${MIDINT}/gfun.c from ${IN}/gfun.c.pamphlet
- @( cd ${MIDINT} ; \
- ${TANGLE} ${IN}/gfun.c.pamphlet >gfun.c )
-
-@
-<<gfun.o (MIDOBJ from MIDINT)>>=
-${MIDOBJ}/gfun.o: ${HEADERS} ${MIDINT}/gfun.c
- @ echo 2 making ${MIDOBJ}/gfun.o from ${MIDINT}/gfun.c
- @ ( cd ${MIDOBJ} ; ${CC} -c ${CFLAGS} ${MIDINT}/gfun.c )
-
-@
-<<gfun.c.dvi (DOC from IN)>>=
-${DOC}/gfun.c.dvi: ${IN}/gfun.c.pamphlet
- @echo 3 making ${DOC}/gfun.c.dvi from ${IN}/gfun.c.pamphlet
- @(cd ${DOC} ; \
- cp ${IN}/gfun.c.pamphlet ${DOC} ; \
- ${DOCUMENT} ${NOISE} gfun.c ; \
- rm -f ${DOC}/gfun.c.pamphlet ; \
- rm -f ${DOC}/gfun.c.tex ; \
- rm -f ${DOC}/gfun.c )
-
-@
-\section{Postscript files}
-\subsection{colorpoly}
-<<colorpoly>>=
-${PS}/colorpoly.ps: ${IN}/psfiles.pamphlet
- @ echo 3 ${PS}/colorpoly.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"colorpoly" psfiles.pamphlet >${PS}/colorpoly.ps
-
-@
-\subsection{colorwol}
-<<colorwol>>=
-${PS}/colorwol.ps: ${IN}/psfiles.pamphlet
- @ echo 4 ${PS}/colorwol.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"colorwol" psfiles.pamphlet >${PS}/colorwol.ps
-
-@
-\subsection{draw}
-<<draw>>=
-${PS}/draw.ps: ${IN}/psfiles.pamphlet
- @ echo 5 ${PS}/draw.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"draw" psfiles.pamphlet >${PS}/draw.ps
-
-@
-\subsection{drawIstr}
-<<drawIstr>>=
-${PS}/drawIstr.ps: ${IN}/psfiles.pamphlet
- @ echo 6 ${PS}/drawIstr.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"drawIstr" psfiles.pamphlet >${PS}/drawIstr.ps
-
-@
-\subsection{drawarc}
-<<drawarc>>=
-${PS}/drawarc.ps: ${IN}/psfiles.pamphlet
- @ echo 7 ${PS}/drawarc.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"drawarc" psfiles.pamphlet >${PS}/drawarc.ps
-
-@
-\subsection{drawcolor}
-<<drawcolor>>=
-${PS}/drawcolor.ps: ${IN}/psfiles.pamphlet
- @ echo 8 ${PS}/drawcolor.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"drawcolor" psfiles.pamphlet >${PS}/drawcolor.ps
-
-@
-\subsection{drawline}
-<<drawline>>=
-${PS}/drawline.ps: ${IN}/psfiles.pamphlet
- @ echo 9 ${PS}/drawline.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"drawline" psfiles.pamphlet >${PS}/drawline.ps
-
-@
-\subsection{drawlines}
-<<drawlines>>=
-${PS}/drawlines.ps: ${IN}/psfiles.pamphlet
- @ echo 10 ${PS}/drawlines.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"drawlines" psfiles.pamphlet >${PS}/drawlines.ps
-
-@
-\subsection{drawpoint}
-<<drawpoint>>=
-${PS}/drawpoint.ps: ${IN}/psfiles.pamphlet
- @ echo 11 ${PS}/drawpoint.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"drawpoint" psfiles.pamphlet >${PS}/drawpoint.ps
-
-@
-\subsection{drawrect}
-<<drawrect>>=
-${PS}/drawrect.ps: ${IN}/psfiles.pamphlet
- @ echo 12 ${PS}/drawrect.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"drawrect" psfiles.pamphlet >${PS}/drawrect.ps
-
-@
-\subsection{drawstr}
-<<drawstr>>=
-${PS}/drawstr.ps: ${IN}/psfiles.pamphlet
- @ echo 13 ${PS}/drawstr.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"drawstr" psfiles.pamphlet >${PS}/drawstr.ps
-
-@
-\subsection{drwfilled}
-<<drwfilled>>=
-${PS}/drwfilled.ps: ${IN}/psfiles.pamphlet
- @ echo 14 ${PS}/drwfilled.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"drwfilled" psfiles.pamphlet >${PS}/drwfilled.ps
-
-@
-\subsection{end}
-<<end>>=
-${PS}/end.ps: ${IN}/psfiles.pamphlet
- @ echo 15 ${PS}/end.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"end" psfiles.pamphlet >${PS}/end.ps
-
-@
-\subsection{fillarc}
-<<fillarc>>=
-${PS}/fillarc.ps: ${IN}/psfiles.pamphlet
- @ echo 16 ${PS}/fillarc.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"fillarc" psfiles.pamphlet >${PS}/fillarc.ps
-
-@
-\subsection{fillpoly}
-<<fillpoly>>=
-${PS}/fillpoly.ps: ${IN}/psfiles.pamphlet
- @ echo 17 ${PS}/fillpoly.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"fillpoly" psfiles.pamphlet >${PS}/fillpoly.ps
-
-@
-\subsection{fillwol}
-<<fillwol>>=
-${PS}/fillwol.ps: ${IN}/psfiles.pamphlet
- @ echo 18 ${PS}/fillwol.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"fillwol" psfiles.pamphlet >${PS}/fillwol.ps
-
-@
-\subsection{header}
-<<header>>=
-${PS}/header.ps: ${IN}/psfiles.pamphlet
- @ echo 19 ${PS}/header.ps from ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"header" psfiles.pamphlet >${PS}/header.ps
-
-@
-\subsection{setup}
-<<setup>>=
-${PS}/setup.ps: ${IN}/psfiles.pamphlet
- @ echo 20 ${PS}/setup.ps ${IN}/psfiles.pamphlet
- @ ${TANGLE} -R"setup" psfiles.pamphlet >${PS}/setup.ps
-
-@
-<<psfiles.dvi (DOC from IN)>>=
-${DOC}/psfiles.dvi: ${IN}/psfiles.pamphlet
- @echo 3 making ${DOC}/psfiles.dvi from ${IN}/psfiles.pamphlet
- @(cd ${DOC} ; \
- cp ${IN}/psfiles.pamphlet ${DOC} ; \
- ${DOCUMENT} ${NOISE} psfiles ; \
- rm -f ${DOC}/psfiles.pamphlet ; \
- rm -f ${DOC}/psfiles.tex ; \
- rm -f ${DOC}/psfiles )
-
-@
-<<*>>=
-<<environment>>
-
-DOCFILES= ${DOC}/gfun.c.dvi ${DOC}/psfiles.dvi
-
-CFLAGS = ${CCF} -I${LINC} -I${GINC} -I${IN} -I${HINC}
-
-HEADERS = ${IN}/gdraws0.h ${LINC}/g.h ${LINC}/gfun.h1 \
- ${GINC}/hash.h ${GINC}/hash.h1
-
-PSFiles= ${PS}/colorpoly.ps ${PS}/colorwol.ps ${PS}/draw.ps \
- ${PS}/drawIstr.ps ${PS}/drawarc.ps ${PS}/drawcolor.ps \
- ${PS}/drawline.ps ${PS}/drawlines.ps ${PS}/drawpoint.ps \
- ${PS}/drawrect.ps ${PS}/drawstr.ps ${PS}/drwfilled.ps \
- ${PS}/end.ps ${PS}/fillarc.ps ${PS}/fillpoly.ps \
- ${PS}/fillwol.ps ${PS}/header.ps ${PS}/setup.ps
-
-all: ${MIDOBJ}/gfun.o ${PSFiles} ${DOCFILES}
- @ echo 21 finished making ${SRC}/gdraws
-
-<<gfun.c (MIDINT from IN)>>
-<<gfun.o (MIDOBJ from MIDINT)>>
-<<gfun.c.dvi (DOC from IN)>>
-
-<<colorpoly>>
-<<colorwol>>
-<<draw>>
-<<drawIstr>>
-<<drawarc>>
-<<drawcolor>>
-<<drawline>>
-<<drawlines>>
-<<drawpoint>>
-<<drawrect>>
-<<drawstr>>
-<<drwfilled>>
-<<end>>
-<<fillarc>>
-<<fillpoly>>
-<<fillwol>>
-<<header>>
-<<setup>>
-
-<<psfiles.dvi (DOC from IN)>>
-
-clean:
- @ echo 22 cleaning ${IN}/gdraws
-
-document:
- @ echo 23 documenting ${IN}/gdraws
-
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/graph/gdraws/data.c.pamphlet b/src/graph/gdraws/data.c.pamphlet
deleted file mode 100644
index 9e60d85..0000000
--- a/src/graph/gdraws/data.c.pamphlet
+++ /dev/null
@@ -1,256 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/graph data.c}
-\author{The Axiom Team}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-@
-<<*>>=
-<<license>>
-
-/* Data file to test out Gdraw functions */
-
-#include "gdraws0.h"
-#include "../view3d/header.h"
-#include "nox10.h"
-
-extern GC gc, gc1;
-
-int
-Gdraws_data(int dFlag)
-{
- static Vertex vlist[5];
- static int vcount = 5;
- static int x0, y0, x1, y1;
- static char *str = "This is a text string.";
- static int x, y;
- static int FirstTime = yes;
- static int Rx, Ry, Rwidth, Rheight;
- static int Ix, Iy;
- static char *Istr = "Image text string.";
- static XPoint points[7];
- static XPoint p1[7];
- static int np1 = 7;
- static int npoints, mode;
- static int ax, ay, angle1, angle2;
- static unsigned int awidth, aheight;
- static Vertex dfvlist[7];
- static int dfvcount = 7;
- static XPoint dfvl1[7];
- static int dfvc = 7;
-
- if (FirstTime) {
-
- vlist[0].x = 10;
- vlist[0].y = 10;
- vlist[0].flags = 0;
-
- vlist[1].x = 250;
- vlist[1].y = 10;
- vlist[1].flags = 0;
-
- vlist[2].x = 250;
- vlist[2].y = 140;
- vlist[2].flags = 0;
-
- vlist[3].x = 10;
- vlist[3].y = 140;
- vlist[3].flags = 0;
-
- vlist[4].x = 10;
- vlist[4].y = 10;
- vlist[4].flags = 0;
-
- x0 = y0 = 12;
- x1 = 248;
- y1 = 138;
-
- x = 25;
- y = 50;
-
- Ix = 20;
- Iy = 180;
-
- Rx = 160;
- Ry = 40;
- Rwidth = 30;
- Rheight = 80;
-
- points[0].x = 80;
- points[0].y = 95;
- points[1].x = 30;
- points[1].y = 15;
- points[2].x = 120;
- points[2].y = 70;
- points[3].x = 25;
- points[3].y = 180;
- points[4].x = 43;
- points[4].y = 56;
- points[5].x = 270;
- points[6].y = 0;
- points[6].x = 0;
- points[5].y = 160;
-
- p1[0].x = 2;
- p1[0].y = 155;
- p1[1].x = 99;
- p1[1].y = 39;
- p1[2].x = 260;
- p1[2].y = 75;
- p1[3].x = 33;
- p1[3].y = 170;
- p1[4].x = 4;
- p1[4].y = 111;
- p1[5].x = 203;
- p1[6].y = 33;
- p1[6].x = 170;
- p1[5].y = 200;
-
- npoints = 7;
- mode = CoordModeOrigin; /* there's also CoordModePrevious */
-
- ax = 130;
- ay = 100;
- awidth = 165;
- aheight = 95;
- angle1 = 165;
- angle2 = -330;
-
- dfvlist[0].x = 300;
- dfvlist[0].y = 0;
- dfvlist[0].flags = 0;
-
- dfvlist[1].x = 200;
- dfvlist[1].y = 0;
- dfvlist[1].flags = 0;
-
- dfvlist[2].x = 200;
- dfvlist[2].y = 100;
- dfvlist[2].flags = 0;
-
- dfvlist[3].x = 100;
- dfvlist[3].y = 100;
- dfvlist[3].flags = 0;
-
- dfvlist[4].x = 100;
- dfvlist[4].y = 200;
- dfvlist[4].flags = 0;
-
- dfvlist[5].x = 0;
- dfvlist[5].y = 200;
- dfvlist[5].flags = 0;
-
- dfvlist[6].x = 300;
- dfvlist[6].y = 0;
- dfvlist[6].flags = 0;
-
- dfvl1[0].x = 0;
- dfvl1[0].y = 300;
- dfvl1[1].x = 0;
- dfvl1[1].y = 200;
- dfvl1[2].x = 100;
- dfvl1[2].y = 200;
- dfvl1[3].x = 100;
- dfvl1[3].y = 100;
- dfvl1[4].x = 200;
- dfvl1[4].y = 100;
- dfvl1[5].x = 200;
- dfvl1[5].y = 0;
- dfvl1[6].x = 0;
- dfvl1[6].y = 300;
-
- FirstTime = no;
- }
-
- if (dFlag == PS) {
- GSetForeground(gc1, 0.3125, PS);
- if (PSFillwOutline(gc1, dfvl1, dfvc) == psError)
- return (psError);
- }
-
- if (GDrawString(gc, viewport->viewWindow, x, y, str, strlen(str), dFlag)
- == psError)
- return (psError);
-
-
- if (GDrawLine(gc, viewport->viewWindow, x0, y0, x1, y1, dFlag) == psError)
- return (psError);
-
- if (GDrawRectangle(gc, viewport->viewWindow, Rx, Ry, Rwidth, Rheight,
dFlag)
- == psError)
- return (psError);
-
- if (GDrawLines(gc, viewport->viewWindow, points, npoints, mode, dFlag)
- == psError)
- return (psError);
-
- if (GDrawArc(gc, viewport->viewWindow, ax, ay, awidth, aheight, angle1 *
64,
- angle2 * 64, dFlag) == psError)
- return (psError);
-
- GSetForeground(gc1, (float) psBlack, dFlag);
- GSetBackground(gc1, (float) psWhite, dFlag);
- if (GFillArc(gc1, viewport->viewWindow, 20, ay - 20, awidth / 2, aheight /
2,
- angle1 * 64, angle2 * 64, dFlag) == psError)
- return (psError);
-
-
- GSetForeground(gc1, (float) psWhite, dFlag);
- GSetBackground(gc1, (float) psBlack, dFlag);
- if (GDrawImageString(gc1, viewport->viewWindow, Ix, Iy,
- Istr, strlen(Istr), dFlag) == psError)
- return (psError);
-
- if (dFlag == PS) {
- GSetForeground(gc1, 0.8, dFlag);
- PSFillPolygon(gc1, p1, np1);
- PSColorPolygon(0.2, 0.4, 0.8, p1, np1);
- }
-
- return (1);
-}
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/graph/gdraws/gdraws0.h b/src/graph/gdraws/gdraws0.h
deleted file mode 100755
index 576039b..0000000
--- a/src/graph/gdraws/gdraws0.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef _GDRAWS0_H_
-#define _GDRAWS0_H_ 1
-
-#include <X11/Xlib.h>
-
-
-#define yes 1
-#define no 0
-
-/*
- * Indices for PostScript draw procedures.
- *
- * The order of these defined variables are very important; they are used
- * to create the OUTPUT file. Essentially, PSCreateFile() loops through the
- * index of 0 to psDrawNo and checks if the file/procedure is used. If so,
- * the file is copied to the output file.
- */
-
-#define output 0 /* output file */
-#define headerps 1 /* postscript header file */
-#define drawps 2 /* draw procedure */
-#define drawarcps 3 /* draw arc procedure */
-#define drawfilledps 4 /* draw filled procedure */
-#define drawcolorps 5 /* draw color filled procedure */
-#define drawpointps 6 /* draw point procedure */
-#define fillpolyps 7 /* polygon filled procedure */
-#define fillwolps 8 /* polygon filled with outline proc */
-#define colorpolyps 9 /* polygon fill with color procedure */
-#define colorwolps 10 /* polygon fill with color procedure */
-#define drawlineps 11 /* draw line procedure */
-#define drawlinesps 12 /* draw lines procedure */
-#define drawIstrps 13 /* draw image string procedure */
-#define drawstrps 14 /* draw string procedure */
-#define drawrectps 15 /* draw rectangle procedure */
-#define fillarcps 16 /* filled arc procedure */
-#define setupps 17 /* setup, or pre-script */
-#define GCdictps 18 /* grahphics context definition file */
-#define scriptps 19 /* script file */
-#define endps 20 /* wrap up, close down, procedure */
-
-#define psDrawNo 21 /* for use in createPSfile() */
-
-
-/*
- * PostScript structures
- */
-
-typedef struct _psStruct { /* data structure for ps routines info */
- int flag;
- char filename[200];
-} psStruct;
-
-psStruct psData[psDrawNo]; /* need psDrawNo of them */
-
-
-/*
- * These variables are expected to be declared in within client programs, eg,
- * main.c in view2d and view3d.
- */
-
-extern int scrn; /* screen */
-extern Display *dsply; /* display */
-extern char *envAXIOM; /* environment variable AXIOM or DEVE */
-
-
-#endif
-
-
diff --git a/src/graph/gdraws/gfun.c.pamphlet b/src/graph/gdraws/gfun.c.pamphlet
deleted file mode 100644
index 5c13cdf..0000000
--- a/src/graph/gdraws/gfun.c.pamphlet
+++ /dev/null
@@ -1,1346 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/graph gfun.c}
-\author{The Axiom Team}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-@
-<<*>>=
-<<license>>
-
-
-#define _GFUN_C
-
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "gdraws0.h"
-#include "g.h"
-#include "hash.h"
-
-#include "hash.h1"
-#include "gfun.h1"
-
-
-/*
- * Given 2 file pointers, this function copies file ifp to file ofp
- */
-
-static void
-filecopy(FILE * ifp, FILE * ofp)
-{
-
- int c;
-
- while ((c = getc(ifp)) != EOF)
- putc(c, ofp);
-}
-
-
-/*
- * PSCreateFile generates the output file by using the order of defined
- * variables; they are used to create the OUTPUT file. Essentially,
- * PSCreateFile() loop through the index of 0 to psDrawNo and checks if the
- * file/procedure is used. If so, the file is included into the output
- * file.
- */
-
-int
-PSCreateFile(
- int bWidth, /* border width of picture frame */
- Window vw, Window tw, /* viewWindow, and titleWindow */
- char *title) /* title of picture to be drawn in title bar */
-{
- FILE *ifp, *ofp, *fp; /* input, output and temp file pointer */
- int i; /* index */
-
- /* last things to add to the script file */
-
- fp = fopen(psData[scriptps].filename, "a");
- fprintf(fp, "\n grestore\t%% restore graphics state\n\n");
- fclose(fp);
-
-#if 0
- /* Make frame drawing optional. */
-
- Gdraws_drawFrame(bWidth, vw, tw, title);
-#endif
-
- /* put procedures and script together into OUTPUT.ps */
-
- if ((ofp = fopen(psData[output].filename, "w")) == NULL) {
- fprintf(stderr, "Cannot open %s to write.\n", psData[output].filename);
- return (psError);
- }
- else {
- i = 1;
- while (i < psDrawNo) { /* loops through each file/procedure */
- if (psData[i].flag) { /* if set, procedure/file is used */
- if ((ifp = fopen(psData[i].filename, "r")) == NULL) {
- if (i == GCdictps) { /* GC dictionaries */
- fprintf(stderr, "Warning: missing GCdictionary.\n");
- }
- else {
- fprintf(stderr, "Cannot open %s to read.\n",
- psData[i].filename);
- fclose(ofp);
- return (psError);
- }
- }
- else {
- filecopy(ifp, ofp);
- fclose(ifp);
- }
- }
- i++;
- }
- }
-
- /* remove script file in tmp */
-
- unlink(psData[scriptps].filename);
-
-#if 0
- /* remove GCdict file in tmp */
- unlink(psData[GCdictps].filename);
-#endif
-
- return (fclose(ofp));
-}
-
-
-
-/*
- * This function draws the frame of the picture, which corresponds to the
- * picture frame on the X display. In addition, it draws the title window as
- * well as the title of the picture.
- */
-
-int
-Gdraws_drawFrame(
- int borderW, /* border width */
- Window viewWindow, Window titleWindow,
- char *title) /* title of picture */
-{
- FILE *fp;
- XWindowAttributes vwInfo, twInfo;
-
- /* choose 2 and "frameDict" for frame dictionary: can be anything else */
-
- PSCreateContext((GC)2, "frameDict", borderW, psButtCap, psMiterJoin,
- psWhite, psBlack);
-
- fp = fopen(psData[scriptps].filename, "a");
-
- XGetWindowAttributes(dsply, viewWindow, &vwInfo);
-
- /* draw title window */
-
- XGetWindowAttributes(dsply, titleWindow, &twInfo);
- fprintf(fp, "\t%s\t%d\t%d\t%d\t%d\ttitle\n", "frameDict",
- twInfo.height - vwInfo.height, twInfo.width, 0, vwInfo.height);
-
- /* draw viewport window */
-
- fprintf(fp, "\t%s\tdrawFrame\n", "frameDict"); /* using
Gdraws_setDimension() */
-
- /* draw title text */
-
- psData[drawIstrps].flag = yes;
- fprintf(fp, "\t%s\tloadFont\n\t%d\t(%s) stringwidth pop sub 2 div\n",
- "frameDict", twInfo.width, title);
- fprintf(fp, "\t%d\t(%s)\t(%s)\tpsDrawIStr\n", 15, title, "title");
-
- return (fclose(fp));
-}
-
-
-/* setDimension sets the dimension of the picture */
-
-int
-Gdraws_setDimension(
- Window viewWindow,
- Window titleWindow)
-{
- FILE *fp;
- XWindowAttributes vwInfo, twInfo;
- float pageWidth, pageHeight, width;
-
- fp = fopen(psData[scriptps].filename, "w");
-
- XGetWindowAttributes(dsply, titleWindow, &twInfo);
- XGetWindowAttributes(dsply, viewWindow, &vwInfo);
- pageWidth = 575.0;
- pageHeight = 750.0;
-
-#if 0
- pageWidth = (float) (DisplayWidth(dsply, scrn) / DisplayWidthMM(dsply,
scrn));
- pageWidth *= 160.0;
- pageHeight = (float) (DisplayHeight(dsply, scrn) / DisplayHeightMM(dsply,
scrn));
- pageHeight *= 210.0;
- fprintf(stderr, "%f, %f\n", pageWidth, pageHeight);
-#endif
-
- fprintf(fp, "\n gsave\t%% save graphics state for clipping path\n\n");
- if ((vwInfo.height > pageWidth) || (vwInfo.height > pageHeight)) {
- width = (float) vwInfo.width;
- if (vwInfo.height > pageWidth) {
- width = pageWidth / width;
- fprintf(fp, "\t%f\t%f", width, width);
- }
- else {
- if (vwInfo.height > pageHeight)
- fprintf(fp, "\t%f\t%f", width, pageHeight / width);
- }
- }
- else {
- fprintf(fp, "\t%f\t%f", 1.0, 1.0);
- }
- fprintf(fp, "\tscale\n\n");
-
- fprintf(fp, "\t%d\t%d\t%d\tsetDim\n", twInfo.height - vwInfo.height,
- vwInfo.height, vwInfo.width);
-
- /* Write a Bounding Box for psfig etc. */
-
- fprintf(fp, "%%%%BoundingBox: 0 0 %d %d\n", vwInfo.height, vwInfo.width);
-
- fprintf(fp, "\tmaxX maxY\t0 0\trectangle\tclip\t%% set clip path\n\n");
- return (fclose(fp));
-}
-/*
- * GDrawImageString draws an image text string
- */
-
-int
-GDrawImageString(
- GC gc, /* graphics context */
- Window wid, /* window id */
- int x, int y,
- char *string,
- int length, int dFlag)
-{
- int s;
-
- switch (dFlag) {
- case Xoption:
- s = XDrawImageString(dsply, wid, gc, x, y, string, length);
- break;
- case PSoption:
- {
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "GDrawImageString cannot open %s\n",
- psData[scriptps].filename);
- return (psError);
- }
-
- psData[drawIstrps].flag = yes; /* set procedure flag */
- fprintf(fp, "\t%s\t%d\t%d\t(%s)\t(%s)\tpsDrawIStr\n",
- PSfindGC(gc), x, y, string, "window");
- s = fclose(fp);
- }
- break;
- default:
- fprintf(stderr, "GdrawImagestring request (%d) not implemented yet.\n",
dFlag);
- return (psError);
- }
- return (s);
-}
-
-/* Draws an arc; see XDrawArc */
-
-int
-GDrawArc(
- GC gc, /* graphics context */
- Window wid, /* window id */
- int x, int y,
- unsigned int wdth, unsigned int hght,
- int ang1, int ang2, int dFlag)
-{
- int s = 0;
-
- switch (dFlag) {
- case Xoption:
- XDrawArc(dsply, wid, gc, x, y, wdth, hght, ang1, ang2);
- break;
- case PSoption:
- {
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "GDrawArc cannot open %s\n",
- psData[scriptps].filename);
- return (psError);
- }
-
- psData[drawarcps].flag = yes;
- fprintf(fp, "\t%s\t%d\t%d\t%d\t%d\t%d\t%d\tpsDrawArc\n",
- PSfindGC(gc), x, y, hght, wdth, ang1 / 64, ang2 / 64);
- s = fclose(fp);
- }
- break;
- default:
- fprintf(stderr, "Gdrawarc request (%d) not implemented yet.\n",
- dFlag);
- return (psError);
- }
- return (s);
-}
-/*
- * GDrawLine draws a line, see XDrawLine
- */
-
-int
-GDrawLine(
- GC gc, /* graphics context */
- Window wid, /* window id */
- int x0, int y0, int x1, int y1, int dFlag)
-{
- int s = 0;
-
- switch (dFlag) {
- case Xoption:
- XDrawLine(dsply, wid, gc, x0, y0, x1, y1);
- break;
- case PSoption:
- {
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "GDrawLine cannot open %s\n",
- psData[scriptps].filename);
- return (psError);
- }
-
- psData[drawlineps].flag = yes; /* sets procedure flag */
- fprintf(fp, "\t%s\t%d\t%d\t%d\t%d\tpsDrawLine\n",
- PSfindGC(gc), x1, y1, x0, y0);
- s = fclose(fp);
- }
- break;
- default:
- fprintf(stderr, "Gdrawline request (%d) not implemented yet.\n",
- dFlag);
- return (psError);
- }
- return (s);
-}
-
-
-
-
-
-/*
- * GDrawLines draws lines; see XDrawLines
- */
-
-int
-GDrawLines(
- GC gc, /* graphics context */
- Window wid, /* window id */
- XPoint * points, /* points */
- int numberOfPoints, int mode, int dFlag)
- /* number of points, mode and display flag */
-{
- int s = 0;
-
- switch (dFlag) {
- case Xoption:
- XDrawLines(dsply, wid, gc, points, numberOfPoints, mode);
- break;
- case PSoption:
- {
- FILE *fp; /* not dealing with modes yet */
- int i = 0;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "GDrawLines cannot open %s\n",
- psData[scriptps].filename);
- return (psError);
- }
-
- psData[drawlinesps].flag = yes; /* set procedure flag */
- fprintf(fp, "\t%s\n", PSfindGC(gc));
- i = numberOfPoints - 1;
- while (i > 0)
- { fprintf(fp, "\t%d\t%d\n", points[i].x, points[i].y);
- i = i-1;
- }
-
- fprintf(fp, "\t%d\t%d\t%d\tpsDrawLines\n",
- numberOfPoints, points[i].x, points[i].y);
- s = fclose(fp);
- }
- break;
- default:
- fprintf(stderr, "Gdrawlines request (%d) not implemented yet\n",
- dFlag);
- return (psError);
- }
- return (s);
-}
-
-/*
- * GDrawPoint draws a point, see XDrawPoint
- */
-
-int
-GDrawPoint(
- Window wid, /* window id */
- GC gc, /* graphics context */
- int x0, int y0, int dFlag)
-{
- int s = 0;
-
- switch (dFlag) {
- case Xoption:
- XDrawPoint(dsply, wid, gc, x0, y0);
- break;
- case PSoption:
- {
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "GDrawPoint cannot open %s\n",
- psData[scriptps].filename);
- return (psError);
- }
-
- psData[drawpointps].flag = yes; /* sets procedure flag */
- fprintf(fp, "\t%s\t%d\t%d\t%d\t%d\tpsDrawPoint\n",
- PSfindGC(gc), x0, y0, x0 + 1, y0 + 1);
- s = fclose(fp);
- }
- break;
- default:
- fprintf(stderr, "Gdrawpoint request (%d) not implemented yet\n",
- dFlag);
- return (psError);
- }
- return (s);
-}
-
-/*
- * GDrawRectangle draws a rectangle; see XDrawRectangle
- */
-
-int
-GDrawRectangle(
- GC gc,
- Window windowId,
- short int x,short int y,short int width,short int height,
- int dFlag)
-{
- int s = 0;
-
- switch (dFlag) {
- case Xoption:
- XDrawRectangle(dsply, windowId, gc, x, y, width, height);
- break;
- case PSoption:
- {
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "GDrawRect cannot open %s\n",
- psData[scriptps].filename);
- return (psError);
- }
-
- psData[drawrectps].flag = yes;
- fprintf(fp, "\t%s\t%d\t%d\t%d\t%d\tpsDrawRect\n",
- PSfindGC(gc), width, height, x, y);
- s = fclose(fp);
- }
- break;
- default:
- fprintf(stderr, "Gdrawrect request (%d) not implemented yet\n",
- dFlag);
- return (psError);
- }
- return (s);
-}
-
-/*
- * GDraw3DButtonOut draws a rectangle with 3D shading on rhs and bottom
- */
-
-int
-GDraw3DButtonOut(
- GC gc,
- Window windowId,
- short int x,short int y,short int width,short int height,
- int dFlag)
-{
- /* draw regular rectangle */
-
- int s = GDrawRectangle(gc, windowId, x, y, width - 1, height - 1, dFlag);
-
- /* add extra line down rhs */
-
- GDrawLine(gc, windowId,
- x + width, y + 1, x + width, y + height,
- dFlag);
-
- /* add extra line across bottom */
-
- GDrawLine(gc, windowId,
- x + 1, y + height, x + width, y + height,
- dFlag);
-
- return (s);
-}
-
-/*
- * GDraw3DButtonIn draws a rectangle with 3D shading on lhs and top
- */
-
-int
-GDraw3DButtonIn(
- GC gc,
- Window windowId,
- short int x,short int y,short int width,short int height,
- int dFlag)
-{
- /* draw regular rectangle */
-
- int s = GDrawRectangle(gc, windowId, x + 1, y + 1, width - 1, height - 1,
dFlag);
-
- /* add extra line down lhs */
-
- GDrawLine(gc, windowId,
- x, y, x, y + height - 1,
- dFlag);
-
- /* add extra line across top */
-
- GDrawLine(gc, windowId,
- x, y, x + width - 1, y,
- dFlag);
-
- return (s);
-}
-
-/*
- * GDrawPushButton draws a push button whose appearance depends on "isOn."
- */
-
-int
-GDrawPushButton(
- Display * display,
- GC gc1, GC gc2, GC gc3,
- Window windowId,
- short int x,short int y,short int width,short int height,
- int isOn, char *text,
- unsigned long buttonColor, unsigned long color,
- int dFlag)
-{
- int len = strlen(text);
-
- if (dFlag == Xoption)
- XClearArea(display, windowId, x, y, width + 1, height + 1, False);
-
- GSetForeground(gc1, (float) buttonColor, dFlag);
-
- if (isOn)
- GDraw3DButtonIn(gc1, windowId, x, y, width, height, dFlag);
- else
- GDraw3DButtonOut(gc1, windowId, x, y, width, height, dFlag);
-
- GSetForeground(gc2, (float) color, dFlag);
-
- return GDrawString(gc2, windowId,
- x + (isOn ? 2 : 0) + centerX(gc3, text, len, width),
- y + (isOn ? 2 : 0) + centerY(gc3, height),
- text, len, dFlag);
-}
-
-
-
-/*
- * Draws a string; see XDrawString
- */
-
-int
-GDrawString(
- GC gc, /* graphics context */
- Window wid, /* window id */
- int x, int y,
- char *string, /* string to be drawn */
- int length, int dFlag)
-{
- int s;
-
- switch (dFlag) {
- case Xoption:
- s = XDrawString(dsply, wid, gc, x, y, string, length);
- break;
- case PSoption:
- {
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "GDrawString cannot open %s\n",
- psData[scriptps].filename);
- return (psError);
- }
-
- psData[drawstrps].flag = yes; /* sets procedure flag */
- fprintf(fp, "\t%s\t(%s)\t%d\t%d\tpsDrawStr\n",
- PSfindGC(gc), string, x, y);
-
- s = fclose(fp);
- }
- break;
- default:
- fprintf(stderr, "Gdrawstring request (%d) not implemented yet\n",
- dFlag);
- return (psError);
- }
- return (s);
-}
-
-/*
- * Draws and fills an arc with foreground color; see XFillArc
- */
-
-int
-GFillArc(
- GC gc, /* graphics context */
- Window wid, /* window id */
- int x, int y,
- unsigned int wdth, unsigned int hght,
- int ang1, int ang2, int dFlag)
-{
- int s = 0;
-
- switch (dFlag) {
- case Xoption: /* angle: times 64 already */
- XFillArc(dsply, wid, gc, x, y, wdth, hght, ang1, ang2);
- break;
- case PSoption:
- {
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "GFillArc cannot open %s\n",
- psData[scriptps].filename);
- return (psError);
- }
-
- psData[fillarcps].flag = yes; /* sets procedure flag */
- fprintf(fp, "\t%s\t%d %d\t%d %d\t%d %d\t%d %d\tpsFillArc\n",
- PSfindGC(gc), x, y, hght, wdth, ang1 / 64, ang2 / 64,
- x + wdth / 2, y + hght / 2);
- s = fclose(fp);
- }
- break;
- default:
- fprintf(stderr, "GFillArc request (%d) not implemented yet\n",
- dFlag);
- return (psError);
- }
- return (s);
-}
-
-/*
- * Initializes the path and files to be used.
- */
-
-int
-PSGlobalInit(void)
-{ /* This needs to be called only once each
- * session. */
- char *tmp;
-
- /* path-independent global file name */
- psData[GCdictps].flag = yes;
- tmp = tempnam(NULL, "axPS");
- sprintf(psData[GCdictps].filename, "%s", tmp);
- free(tmp);
- psData[setupps].flag = yes;
- psData[scriptps].flag = yes;/* new script file name */
- psData[endps].flag = yes;
-
- /* path specific file names */
-
- if ((envAXIOM = getenv("DEVE")) != NULL) { /* get env var AXIOM */
-
- psData[headerps].flag = yes;
- sprintf(psData[headerps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/header.ps");
- sprintf(psData[drawps].filename, "%s%s", envAXIOM, "/Gdraws/PS/draw.ps");
- sprintf(psData[drawarcps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/drawarc.ps");
- sprintf(psData[drawfilledps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/drwfilled.ps");
- sprintf(psData[drawcolorps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/drawcolor.ps");
- sprintf(psData[fillpolyps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/fillpoly.ps");
- sprintf(psData[colorpolyps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/colorpoly.ps");
- sprintf(psData[fillwolps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/fillwol.ps");
- sprintf(psData[colorwolps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/colorwol.ps");
- sprintf(psData[drawpointps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/drawpoint.ps");
- sprintf(psData[drawlineps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/drawline.ps");
- sprintf(psData[drawlinesps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/drawlines.ps");
- sprintf(psData[drawrectps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/drawrect.ps");
- sprintf(psData[drawstrps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/drawstr.ps");
- sprintf(psData[drawIstrps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/drawIstr.ps");
- sprintf(psData[fillarcps].filename, "%s%s", envAXIOM,
- "/Gdraws/PS/fillarc.ps");
- sprintf(psData[setupps].filename, "%s%s", envAXIOM, "/Gdraws/PS/setup.ps");
- sprintf(psData[endps].filename, "%s%s", envAXIOM, "/Gdraws/PS/end.ps");
- }
- else if ((envAXIOM = getenv("AXIOM")) != NULL) {
- psData[headerps].flag = yes;
- sprintf(psData[headerps].filename, "%s%s", envAXIOM,
- "/lib/graph/header.ps");
- sprintf(psData[drawps].filename, "%s%s", envAXIOM,
- "/lib/graph/draw.ps");
- sprintf(psData[drawarcps].filename, "%s%s", envAXIOM,
- "/lib/graph/drawarc.ps");
- sprintf(psData[drawfilledps].filename, "%s%s", envAXIOM,
- "/lib/graph/drwfilled.ps");
- sprintf(psData[drawcolorps].filename, "%s%s", envAXIOM,
- "/lib/graph/drawcolor.ps");
- sprintf(psData[fillpolyps].filename, "%s%s", envAXIOM,
- "/lib/graph/fillpoly.ps");
- sprintf(psData[colorpolyps].filename, "%s%s", envAXIOM,
- "/lib/graph/colorpoly.ps");
- sprintf(psData[fillwolps].filename, "%s%s", envAXIOM,
- "/lib/graph/fillwol.ps");
- sprintf(psData[colorwolps].filename, "%s%s", envAXIOM,
- "/lib/graph/colorwol.ps");
- sprintf(psData[drawpointps].filename, "%s%s", envAXIOM,
- "/lib/graph/drawpoint.ps");
- sprintf(psData[drawlineps].filename, "%s%s", envAXIOM,
- "/lib/graph/drawline.ps");
- sprintf(psData[drawlinesps].filename, "%s%s", envAXIOM,
- "/lib/graph/drawlines.ps");
- sprintf(psData[drawrectps].filename, "%s%s", envAXIOM,
- "/lib/graph/drawrect.ps");
- sprintf(psData[drawstrps].filename, "%s%s", envAXIOM,
- "/lib/graph/drawstr.ps");
- sprintf(psData[drawIstrps].filename, "%s%s", envAXIOM,
- "/lib/graph/drawIstr.ps");
- sprintf(psData[fillarcps].filename, "%s%s", envAXIOM,
- "/lib/graph/fillarc.ps");
- sprintf(psData[setupps].filename, "%s%s", envAXIOM,
- "/lib/graph/setup.ps");
- sprintf(psData[endps].filename, "%s%s", envAXIOM,
- "/lib/graph/end.ps");
- }
- else {
- fprintf(stderr, " need environment variable AXIOM or DEVE; process
aborted\n");
- return (psError);
- }
-
- return (psInit = yes);
-}
-
-
-/*
- * This needs to be called for every postscript file generated. It
- * initializes the procedure flags.
- */
-
-int
-PSInit(Window vw, Window tw)
-{
- if (!psInit) {
- /* must have PSGlobalInit() called before this */
- fprintf(stderr, "Error: need initialization for ps data files: call
PSGlobalInit().\n");
- return (psError);
- }
-
- sprintf(psData[output].filename, "%s", PSfilename); /* output file name */
-
- psData[drawps].flag = no; /* ps procedures flags */
- psData[drawarcps].flag = no;
- psData[drawfilledps].flag = no;
- psData[drawcolorps].flag = no;
- psData[fillpolyps].flag = no;
- psData[fillwolps].flag = no;
- psData[colorpolyps].flag = no;
- psData[colorwolps].flag = no;
- psData[drawpointps].flag = no;
- psData[drawlineps].flag = no;
- psData[drawlinesps].flag = no;
- psData[drawrectps].flag = no;
- psData[drawstrps].flag = no;
- psData[drawIstrps].flag = no;
- psData[fillarcps].flag = no;
-
- sprintf(psData[scriptps].filename, "%s", tmpnam(NULL)); /* script file */
- return (Gdraws_setDimension(vw, tw));
-}
-
-/*
- * This procedure sets the line attributes; notice that lineWidth is not set
- * for PS, this is because lineWidth of 0, the thinest line on the ps device,
- * is device-dependent, thus, we'll leave it and use default. Also lineStyle
- * is solid in ps by default, thus we don't need to set it. We'll leave out
- * line style here since we really never used anything other than line solid
- * which is the default line style in postscript.
- */
-
-int
-PSCreateContext(
- GC gc, /* graphics context */
- char *C_gc, /* GC name to be used as postscript variable */
- int lineWidth, int capStyle, int joinStyle,
- float bg, float fg)
-{
- FILE *fp;
- GCptr newGC, curGC;
-
- /* get memory for new GC cell */
-
- if (!(newGC = (GCptr) malloc(sizeof(GCstruct)))) {
- fprintf(stderr, "Ran out of memory(malloc) trying to create a ps GC.\n");
- exit(-1);
- }
-
- /* attach newGC to chain */
-
- if (GChead == NULL)
- GChead = newGC;
- else { /* attach newGC to end of linked list */
- curGC = GChead;
- while (curGC->next != NULL)
- curGC = curGC->next;
- curGC->next = newGC;
- }
-
- /* fill newGC with information */
-
- newGC->GCint = gc;
- sprintf(newGC->GCchar, "%s", C_gc);
- newGC->next = NULL;
-
- if ((fp = fopen(psData[GCdictps].filename, "a")) == NULL) {
- fprintf(stderr, "PSCreateContext cannot open %s\n",
- psData[GCdictps].filename);
- return (psError);
- }
-
- fprintf(fp, "\t%d\t%d\t%d\n\t%f\t%f\t/%s\tmakeDict\n", joinStyle,
- capStyle, lineWidth, bg, fg, C_gc);
-
- return (fclose(fp));
-}
-
-/*
- * Looks into GC linked list with gc (unsigned long) as index to find the
- * character name.
- */
-
-char *
-PSfindGC(GC gc)
-{
- GCptr curGC;
-
- curGC = GChead;
- while ((curGC != NULL) && (curGC->GCint != gc))
- curGC = curGC->next;
-
- if (curGC == NULL) {
- fprintf(stderr, "PSfindGC cannot find gc: %p.\n",gc);
- return (NULL);
- }
- else
- return (curGC->GCchar);
-}
-
-/*
- * Sets foreground color; see XSetForeground
- */
-
-int
-GSetForeground(
- GC gc, /* graphics context */
- float color, /* foreground color to be set */
- int dFlag) /* display flag: PS, X,... */
-{
- int s = 0;
-
- switch (dFlag) {
- case Xoption:
- XSetForeground(dsply, gc, (unsigned long) color);
- break;
- case PSoption:
- {
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "GSetForeground cannot open %s\n",
- psData[scriptps].filename);
- return (0);
- }
- fprintf(fp, "\t%s\t%f\tsetForeground\n", PSfindGC(gc), color);
- s = fclose(fp);
- break;
- }
- default:
- fprintf(stderr, "GSetForeground request (%d) not implemented yet\n",
dFlag);
- return (0);
- }
- return (s);
-}
-
-/*
- * Sets background color; see XSetBackground
- */
-
-int
-GSetBackground(
- GC gc, /* graphics context */
- float color, /* background color to be set */
- int dFlag) /* display flag: PS, X,... */
-{
- int s = 0;
-
- switch (dFlag) {
- case Xoption:
- XSetBackground(dsply, gc, (unsigned long) color);
- break;
- case PSoption:
- {
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "GSetBackground cannot open %s\n",
- psData[scriptps].filename);
- return (0);
- }
- fprintf(fp, "\t%s\t%f\tsetBackground\n", PSfindGC(gc), color);
- s = fclose(fp);
- break;
- }
- default:
- fprintf(stderr, "GSetBackground request (%d) not implemented yet\n",
dFlag);
- return (0);
- }
- return (s);
-}
-
-/*
- * See XSetLineAttributes. Notice that we'll not setting line style for
- * postscript. This is because solid is the ls in ps and in view3d and 2d,
- * we really don't use anything else than solid.
- */
-
-int
-GSetLineAttributes(
- GC gc,
- int lineWidth, int lineStyle, int capStyle, int joinStyle,
- int dFlag)
-{
- int s = 0;
-
- switch (dFlag) {
- case Xoption:
- XSetLineAttributes(dsply, gc, lineWidth, lineStyle,
- capStyle, joinStyle);
- break;
- case PSoption:
- {
- FILE *fp;
- int psCap, psJoin;
-
- switch (capStyle) {
- case 0: /* CapNotLast is not implemented in ps */
- case 1:
- psCap = psButtCap;
- break;
- case 2:
- psCap = psRoundCap;
- break;
- case 3:
- psCap = psPSqCap;
- break;
- default:
- fprintf(stderr, "cap style: %d unknown, using default.\n", capStyle);
- psCap = psButtCap;
- }
-
- switch (joinStyle) {
- case 0:
- psJoin = psMiterJoin;
- break;
- case 1:
- psJoin = psRoundJoin;
- break;
- case 2:
- psJoin = psBevelJoin;
- break;
- default:
- fprintf(stderr, "join style: %d unknown, using default.\n", joinStyle);
- psJoin = psMiterJoin;
- }
-
- /*
- * width of zero is machine-dependent and is not recom- mended,
- * we'll use 1 as the thinest line available if (lineWidth < 1)
- * lineWidth = 1;
- */
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "GSetLineAttributes cannot open %s\n",
- psData[scriptps].filename);
- return (0);
- }
-
- fprintf(fp, "\t%d\t%d\t%d\t%s\tsetLineAttributes\n",
- lineWidth, psCap, psJoin, PSfindGC(gc));
- s = fclose(fp);
- }
- break;
- default:
- fprintf(stderr, "GSetLineAttributes request (%d) not implemented yet\n",
dFlag);
- return (0);
- }
- return (s);
-}
-
-/*
- * This procedure frees the data structure used for GC information, and also
- * unlinks the GC dictionary file.
- */
-
-int
-PSClose(void)
-{
- if (GChead != NULL) {
-
- /* free memory used by GC struct */
-
- GCptr curGC = GChead;
-
- while (curGC != NULL) {
- GCptr freeGC = curGC;
-
- curGC = curGC->next;
- free(freeGC);
- }
- }
-
- /* remove GC dictionary file */
-
- return (unlink(psData[GCdictps].filename));
-}
-
-
-
-
-int
-centerX (GC viewGCx,char * theString,int strlength,int windowWidth)
-{
- XFontStruct *fontStruct;
- GContext con;
- int result;
-
-
- con=XGContextFromGC(viewGCx);
- fontStruct = XQueryFont(dsply,con);
- if(fontStruct == NULL) return(0);
- result = (windowWidth - XTextWidth(fontStruct,theString,strlength))/2 -
- fontStruct->min_bounds.lbearing;
- XFreeFontInfo(NULL,fontStruct,1);
- return(result);
-}
-
-
-int
-centerY (GC viewGCy,int windowHeight)
-{
-
- XFontStruct *fontStruct;
- GContext con;
- int result;
-
- con=XGContextFromGC(viewGCy);
- fontStruct = XQueryFont(dsply,con);
- if (fontStruct == NULL) return(0);
- result = (windowHeight -
- (fontStruct->max_bounds.ascent + fontStruct->max_bounds.descent))/2
+
- fontStruct->max_bounds.ascent;
- XFreeFontInfo(NULL,fontStruct,1);
- return(result);
-
-}
-
-
-/*
- * PSColorPolygon draws and fills a polygon given data in XPoint; see
- * XFillPolygon
- */
-
-int
-PSColorPolygon(
- float r, float g, float b, /* red, green and blue color
- * components */
- XPoint * points, /* vertices of polygon */
- int numberOfPoints) /* number of points */
-{
- int i = 0;
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "PSColorPolygon cannot open %s\n",
- psData[scriptps].filename);
- return (psError);
- }
-
- psData[colorpolyps].flag = yes; /* sets procedure flag */
-
- fprintf(fp, "\t%f\t%f\t%f\tsetrgbcolor\n", r, g, b);
-
- i = numberOfPoints - 1;
- while (i > 0)
- { fprintf(fp, "\t%d\t%d\n", points[i].x, points[i].y);
- i = i-1;
- }
-
- fprintf(fp, "\t%d\t%d\t%d\tpsColorPoly\n", numberOfPoints, points[i].x,
points[i].y);
-
- return (fclose(fp));
-}
-
-
-/*
- * PSColorwOutline draws and also outlines the colored polygon.
- */
-
-int
-PSColorwOutline(
- float r, float g, float b, /* red, green and blue color
- * components */
- XPoint * points, /* vertices of polygon */
- int numberOfPoints) /* number of points */
-{
- int i = 0;
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "PSDrawFOL cannot open %s\n", psData[scriptps].filename);
- return (psError);
- }
-
- psData[colorwolps].flag = yes; /* sets procedure flag */
-
- fprintf(fp, "\t%f\t%f\t%f\tsetrgbcolor\n", r, g, b);
-
- i = numberOfPoints - 1;
- while (i > 0)
- { fprintf(fp, "\t%d\t%d\n", points[i].x, points[i].y);
- i = i-1;
- }
-
- fprintf(fp, "\t%d\t%d\t%d\tpsFillwOutline\n",
- numberOfPoints, points[i].x, points[i].y);
-
- return (fclose(fp));
-}
-/*
- * This function does what XDraw would do, notice that only a subset of
- * attributes in GC is implemented -- adequate for our purpose now
- */
-
-int
-PSDrawColor(
- float r, float g, float b, /* red, green and blue color components */
- XPoint *points, /* point list */
- int numberOfPoints) /* vertex count and display flag (X, PS,...) */
-{
- int i = 0;
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "GDraw cannot open %s\n",
- psData[scriptps].filename);
- return (psError);
- }
-
- psData[drawcolorps].flag = yes; /* set procedure flag */
-
- fprintf(fp, "\t%f\t%f\t%f\tsetrgbcolor\n", r, g, b);
-
- i = numberOfPoints - 1;
- while (i > 0)
- { fprintf(fp, "\t%d\t%d\n", points[i].x, points[i].y);
- i=i-1;
- }
-
- fprintf(fp, "\t%d\t%d\t%d\tpsDrawColor\n", numberOfPoints, points[i].x,
points[i].y);
-
- return (fclose(fp));
-}
-/*
- * PSFillPolygon draws and fills a polygon given data in XPoint; see
- * XFillPolygon.
- */
-
-int
-PSFillPolygon(
- GC gc, /* graphics context */
- XPoint * points, /* vertices of polygon */
- int numberOfPoints) /* number of points */
-{
- int i = 0;
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "PSFillPolygon cannot open %s\n",
- psData[scriptps].filename);
- return (psError);
- }
-
- psData[fillpolyps].flag = yes; /* sets procedure flag */
- fprintf(fp, "\t%s\n", PSfindGC(gc));
-
- i = numberOfPoints - 1;
- while (i > 0)
- { fprintf(fp, "\t%d\t%d\n", points[i].x, points[i].y);
- i = i-1;
- }
-
- fprintf(fp, "\t%d\t%d\t%d\tpsFillPoly\n", numberOfPoints, points[i].x,
points[i].y);
-
- return (fclose(fp));
-}
-
-/*
- * PSFillwOutline draws and also outlines the filled polygon.
- */
-
-int
-PSFillwOutline(
- GC gc, /* graphics context */
- XPoint * points, /* vertices of polygon */
- int numberOfPoints) /* number of points */
-{
- int i = 0;
- FILE *fp;
-
- if ((fp = fopen(psData[scriptps].filename, "a")) == NULL) {
- fprintf(stderr, "PSDrawFOL cannot open %s\n", psData[scriptps].filename);
- return (psError);
- }
-
- psData[fillwolps].flag = yes; /* sets procedure flag */
- fprintf(fp, "\t%s\n", PSfindGC(gc));
-
- i = numberOfPoints - 1;
- while (i > 0)
- { fprintf(fp, "\t%d\t%d\n", points[i].x, points[i].y);
- i = i-1;
- }
-
- fprintf(fp, "\t%d\t%d\t%d\tpsFillwOutline\n",
- numberOfPoints, points[i].x, points[i].y);
-
- return (fclose(fp));
-}
-static int
-TrivEqual(Window s1,Window s2)
-{
- return ( s1 == s2);
-}
-
-static int
-TrivHash_code(Window s,int size)
-{
- return (s % size);
-}
-
-
-HashTable *
-XCreateAssocTable(int size)
-{
- HashTable * table;
- table = (HashTable *) malloc(sizeof(HashTable));
-
hash_init(table,size,(EqualFunction)TrivEqual,(HashcodeFunction)TrivHash_code);
- return table;
-}
-
-void
-XMakeAssoc(Display * dsp, HashTable *table, Window w, int * p)
-{
- hash_insert(table,(char *) p, (char *) w);
-}
-
-int *
-XLookUpAssoc(Display * dsp, HashTable *table,Window w)
-{
- return (int *) hash_find(table,(char *)w);
-}
-
-void
-XDeleteAssoc(Display * dsp,HashTable * table, Window w)
-{
- hash_delete(table,(char *) w);
-}
-
-
-
-
-
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/graph/gdraws/loadfont.c.pamphlet
b/src/graph/gdraws/loadfont.c.pamphlet
deleted file mode 100644
index 9f31e93..0000000
--- a/src/graph/gdraws/loadfont.c.pamphlet
+++ /dev/null
@@ -1,71 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/graph loadfont.c}
-\author{The Axiom Team}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-@
-<<*>>=
-<<license>>
-
-
-/* load_font for display to test out Gdraw functions in this directory */
-
-#include "gdraws0.h"
-#include "../include/g.h"
-
-#include <stdio.h>
-
-void
-Gdraws_load_font(XFontStruct **font_info, char *fontname)
-{
- if ((*font_info = XLoadQueryFont(dsply, fontname)) == NULL) {
- fprintf(stderr, "cannot open font %s\n", fontname);
- exit(-1);
- }
-}
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/graph/gdraws/main.c.pamphlet b/src/graph/gdraws/main.c.pamphlet
deleted file mode 100644
index a8b4fdd..0000000
--- a/src/graph/gdraws/main.c.pamphlet
+++ /dev/null
@@ -1,215 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/graph main.c}
-\author{The Axiom Team}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-@
-<<*>>=
-<<license>>
-
-
-/* main procedure to test out Gdraw functions in this directory */
-#include <stdio.h>
-#include "gdraws0.h"
-#include "../view3d/header.h"
-
-GC gc, gc1;
-Display *dsply;
-int scrn;
-viewPoints *viewport;
-
-int psInit=no;
-GCptr GChead=NULL;
-char *PSfilename="OUTPUT.ps";
-char *envAXIOM;
-
-int
-main(int argc, char **argv)
-{
-
- XGCValues values;
-
- XEvent report;
- int x0=0, y0=0, width=300, height=200, border=3;
-
- char *fontname = "6x13";
- XFontStruct *dsp_font;
-
- Window menu;
- char *str1 = " Print out the PostScript file? ",
- *str0 = "Generate a PostScript file (OUTPUT.ps)?";
- int m_width, m_height, flag=yes;
-
- /* open display */
- if ((dsply = XOpenDisplay(NULL)) == NULL) {
- printf("Can't open display NULL\n");
- exit(-1);
- }
-
- scrn = DefaultScreen(dsply);
-
- /* access font */
- Gdraws_load_font(&dsp_font, fontname);
-
- values.background = WhitePixel(dsply, scrn);
- values.foreground = BlackPixel(dsply, scrn);
-
- gc = XCreateGC(dsply, RootWindow(dsply, scrn),
- (GCForeground | GCBackground), &values);
- PSGlobalInit(); /* must initiate before using G/PS functions */
- PSCreateContext(gc, "gc", psNormalWidth, psButtCap,
- psMiterJoin, psWhite, psBlack);
- XSetFont(dsply, gc, dsp_font->fid);
- gc1 = XCreateGC(dsply, RootWindow(dsply, scrn),
- (GCForeground | GCBackground), &values);
- PSCreateContext(gc1, "gc1", psNormalWidth, psButtCap, psMiterJoin,
- psWhite, psBlack);
- XSetFont(dsply, gc1, dsp_font->fid);
-
- if (!(viewport = (viewPoints *)malloc(sizeof(viewPoints)))) {
- fprintf(stderr,"Ran out of memory (malloc) trying to create a
viewport.\n");
- exit(-1);
- }
-
- viewport->titleWindow = XCreateSimpleWindow(dsply, RootWindow(dsply,scrn),
- x0, y0, width+6,
- height+32+height/4, border,
- BlackPixel(dsply, scrn),
- WhitePixel(dsply, scrn));
-
- viewport->viewWindow = XCreateSimpleWindow(dsply, viewport->titleWindow,
- x0, y0+20, width, height, border,
- BlackPixel(dsply, scrn),
- WhitePixel(dsply, scrn));
-
- strcpy(viewport->title, "what is a test title?");
-
- m_width = width; m_height = height/4;
- menu = XCreateSimpleWindow(dsply, viewport->titleWindow, x0, y0+20+height+6,
- m_width, m_height, border,
- BlackPixel(dsply,scrn), WhitePixel(dsply,scrn));
-
- XSelectInput(dsply, viewport->viewWindow,
- KeyPressMask|ButtonPressMask|ExposureMask);
- XSelectInput(dsply, viewport->titleWindow, KeyPressMask|ExposureMask);
- XSelectInput(dsply, menu, KeyPressMask|ButtonPressMask|ExposureMask);
-
- XMapWindow(dsply, viewport->viewWindow);
- XMapWindow(dsply, viewport->titleWindow);
- XFlush(dsply);
-
- while (yes) {
- XNextEvent(dsply, &report);
- switch (report.type) {
-
- case Expose:
- if (report.xexpose.window==viewport->titleWindow) {
- if (GDrawImageString(gc, viewport->titleWindow,
- 20, 15, viewport->title,
- strlen(viewport->title),X) == psError)
- printf("screen draw image string failed.\n");
- if (Gdraws_data(X) == psError)
- printf("screen Gdraws_data failed.\n");
- }
- if (report.xexpose.window==viewport->viewWindow) {
- if (Gdraws_data(X) == psError)
- printf("screen Gdraws_data failed.\n");
- }
- else if (report.xexpose.window==menu) {
- if (flag)
- Gdraws_draw_menu(menu, str0, m_width, m_height);
- else
- Gdraws_draw_menu(menu, str1, m_width, m_height);
- }
- break;
-
- case ButtonPress:
- if (report.xbutton.window==viewport->viewWindow) {
- XMapWindow(dsply, menu);
- XFlush(dsply);
- }
- else if (report.xbutton.window==menu && flag) {
- XUnmapWindow(dsply, menu);
- if (Gdraws_pressed_yes(m_width, m_height,
report.xbutton.x,
- report.xbutton.y)) {
- flag=no;
- XMapWindow(dsply, menu);
- PSInit(viewport->viewWindow, viewport->titleWindow);
- if (Gdraws_data(PS) != psError)
- PSCreateFile(3,viewport->viewWindow,
- viewport->titleWindow,viewport->title);
- else printf("PS Gdraws_data failed.\n");
- }
- }
- else if (report.xbutton.window==menu && !flag) {
- XUnmapWindow(dsply, menu);
- if (Gdraws_pressed_yes(m_width, m_height,
report.xbutton.x,
- report.xbutton.y))
- system("print OUTPUT.ps");
- flag = yes;
- }
- break;
-
- case KeyPress:
- if (report.xkey.window==viewport->viewWindow ||
- report.xkey.window==viewport->titleWindow) {
- XFreeGC(dsply, gc);
- XFreeGC(dsply, gc1);
- XCloseDisplay(dsply);
- PSClose();
- exit(1);
- }
- else if (report.xkey.window==menu) XUnmapWindow(dsply, menu);
-
- default:
- break;
- }
- }
- return 0;
-}
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/graph/gdraws/menu.c.pamphlet b/src/graph/gdraws/menu.c.pamphlet
deleted file mode 100644
index fe24991..0000000
--- a/src/graph/gdraws/menu.c.pamphlet
+++ /dev/null
@@ -1,82 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/graph menu.c}
-\author{The Axiom Team}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-@
-<<*>>=
-<<license>>
-
-/* menu of display used for testing out Gdraw functions in this directory */
-#include "gdraws0.h"
-#include "../include/g.h"
-
-extern GC gc;
-
-void
-Gdraws_draw_menu(Window menu, char *str, int width, int height)
-{
- char *str1 = "y e s", *str2 = "n o";
- int x0=0, y0=0;
-
- XDrawString(dsply, menu, gc, 30, height/4+3, str, strlen(str));
-
- XFillArc(dsply, menu, gc, 35, height/3+5, width/2-50, height/3*2-10,
- 0*64, 360*64);
-
- XFillArc(dsply, menu, gc, width/2+5, height/3+5, width/2-50, height/3*2-10,
- 0*64, 360*64);
-
- XSetForeground(dsply, gc, WhitePixel(dsply, scrn));
- XDrawString(dsply, menu, gc, width/4-5, height/3*2+3, str1, strlen(str1));
- XDrawString(dsply, menu, gc, width/4*3-28,height/3*2+3, str2, strlen(str2));
- XSetForeground(dsply, gc, BlackPixel(dsply, scrn));
-
- XFlush(dsply);
-}
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/graph/gdraws/psfiles.pamphlet
b/src/graph/gdraws/psfiles.pamphlet
deleted file mode 100644
index bcdfd40..0000000
--- a/src/graph/gdraws/psfiles.pamphlet
+++ /dev/null
@@ -1,635 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/graph/gdraws psfiles}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{The postscript command definitions}
-\subsection{colorpoly}
-\begin{verbatim}
-operand stack configuration in order to use psColorPoly:
- psFillPoly
- XPoint[0].y
- XPoint[0].x
- n
- ...
- XPoint[n].y
- XPoint[n].x
- graphics-context dictionary
-this draws a polygon by connecting all the points and fills the
-region with foreground color
-\end{verbatim}
-<<colorpoly>>=
-/psColorPoly
- { gsave
- newpath
- yVal moveto
- 1 sub {
- yVal lineto
- } repeat
- closepath
- fill %% fills with foreground color
- grestore }
- def
-
-@
-\subsection{colorwol}
-\begin{verbatim}
-operand stack configuration in order to use psDrawFilled:
- psFillwOL
- XPoint[0].y
- XPoint[0].x
- n
- ...
- XPoint[n].y
- XPoint[n].x
- graphics-context dictionary
-this draws lines connecting all the points and fills the
-region with background color (default: 1, or white).
-\end{verbatim}
-<<colorwol>>=
-/psColorwOutline
- { gsave
- newpath
- yVal moveto
- 1 sub {
- yVal lineto
- } repeat
- closepath
- begin gsave fill grestore %% fills with foreground color
- 0 setgray stroke grestore end } %% outline it with black
- def
-
-@
-\subsection{drawarc}
-\begin{verbatim}
-operand stack configuration in order to use psDrawArc:
- psDrawArc
- angle2
- angle1
- width
- height
- y
- x
- graphics-context dictionary
-this draws an arc whose origin is at x, y, and whose width
-and height specifies the rectangle which encases the arc.
-Origin is at upper left corner of rectangle.
-This function uses "scale" to make cricles and ellipses.
-\end{verbatim}
-<<drawarc>>=
-/psDrawArc
- { gsave
- newpath
- /sfactor 4 index 4 index div def %% scale factor
- 1 sfactor scale
- 6 5 roll %% x on top of stack
- 3 index 2 div add %% define x origin
- 6 5 roll %% y on top of stack
- 6 5 roll %% h on top of stack
- 2 div add yVal sfactor div %% define y origin
- 5 4 roll %% w on top of stack
- 2 div %% define radius
- 5 3 roll %% a1 a2 on top of stack
- 1 index add
- arcn %% draw clockwise arc
- begin installGC stroke end
- grestore }
- def
-
-@
-\subsection{drawcolor}
-\begin{verbatim}
-operand stack configuration in order to use psDrawColor:
- psDraw
- vlist[0].y
- vlist[0].x
- n
- ...
- vlist[n].y
- vlist[n].x
- graphics-context dictionary
-to draw lines connecting points in vlist[0] to vlist[n]
-\end{verbatim}
-<<drawcolor>>=
-/psDrawColor
- { gsave
- newpath
- yVal moveto %% set currentpoint
- 1 sub { %% loop to draw lines.
- yVal lineto
- } repeat
- stroke %% draw in foreground color
- grestore }
- def
-
-@
-\subsection{drawIstr}
-\begin{verbatim}
-operand stack configuration in order to use psDrawIStr:
- psDrawIStr
- window type: title or window
- string
- y
- x
- graphics-context dictionary
-it draws a text string in foreground color on top of bounding box of
-string, which is in background color.
-\end{verbatim}
-<<drawIstr>>=
-/psDrawIStr
- { gsave
- newpath %% for rectangle
- loadFont
-
- /window exch def %% get window type
-
- %% draw bounding box with background color
- /str exch def %% get text string
- str stringwidth pop 1 sub %% width
- FontHeight 1 sub %% height
- currentfont begin %% get font height
- FontBBox
- end
- /ypos exch def pop %% define ypos
- neg ypos add /offset exch def pop
- /offset ypos offset div FontHeight mul def %% define offset
- /h exch def /w exch def %% define h
- /y0 exch def %% define y0
- /x0 exch def %% define x0
- w h x0 y0 offset sub
- window (title) eq
- {hVal moveto drawRect} %% draws in title window
- {rectangle} ifelse %% draws in view window
- begin
- BGcolor setgray fill %% set background box color
-
- x0 y0
- window (title) eq
- {hVal} %% print title text
- {yVal} ifelse %% print window text
- moveto str
- FGcolor setgray show %% set text color
- end
- grestore }
- def
-
-@
-\subsection{drawline}
-\begin{verbatim}
-operand stack configuration in order to use psDrawLine:
- psDrawLine
- y0
- x0
- y1
- x1
- graphics-context dictionary
-this draws a line from (x0, y0) to (x1, y1).
-\end{verbatim}
-<<drawline>>=
-/psDrawLine
- { gsave
- newpath
- yVal moveto
- yVal lineto
- begin installGC stroke end
- grestore }
- def
-
-@
-\subsection{drawlines}
-\begin{verbatim}
-operand stack configuration in order to use psDrawLines:
- psDrawLines
- points[0].y
- points[0].x
- n
- ...
- points[n].y
- points[n].x
- graphics-context dictionary
-this draws lines connecting all the points.
-\end{verbatim}
-<<drawlines>>=
-/psDrawLines
- { gsave
- newpath
- yVal moveto
- 1 sub {
- yVal lineto
- } repeat
- begin installGC stroke end
- grestore }
- def
-
-@
-\subsection{drawpoint}
-\begin{verbatim}
-operand stack configuration in order to use psDrawPoint:
- psDrawPoint
- y0
- x0
- graphics-context dictionary
-this draws a point at (x0, y0).
-\end{verbatim}
-<<drawpoint>>=
-/psDrawPoint
- { gsave
- newpath
- yVal moveto
- yVal lineto
- begin installGC stroke end %%fills with foreground color
- grestore }
- def
-
-@
-\subsection{draw}
-\begin{verbatim}
-operand stack configuration in order to use psDraw:
- psDraw
- vlist[0].y
- vlist[0].x
- n
- ...
- vlist[n].y
- vlist[n].x
- graphics-context dictionary
-to draw lines connecting points in vlist[0] to vlist[n]
-\end{verbatim}
-<<draw>>=
-/psDraw
- { gsave
- newpath
- yVal moveto %% set currentpoint
- 1 sub { %% loop to draw lines.
- yVal lineto
- } repeat
- begin installGC stroke end %% draw in foreground color
- grestore }
- def
-
-@
-\subsection{drawrect}
-\begin{verbatim}
-operand stack configuration in order to use psDrawRect:
- psDrawRect
- y
- x
- height
- width
- graphics-context dictionary
-this draws an outline of a rectangle whose origin is at (x,y) and is width
-+ 1 wide and height + 1 tall.
-\end{verbatim}
-<<drawrect>>=
-/psDrawRect
- { gsave
- newpath
- rectangle
- begin installGC stroke end
- grestore }
- def
-
-@
-\subsection{drawstr}
-\begin{verbatim}
-operand stack configuration in order to use psDrawStr:
- psDrawStr
- y
- x
- string
- graphics-context dictionary
-this function draws a text string at (x,y).
-\end{verbatim}
-<<drawstr>>=
-/psDrawStr
- { gsave
- newpath
- loadFont
- yVal moveto
- exch begin installGC show end
- grestore }
- def
-
-@
-\subsection{drwfilled}
-\begin{verbatim}
-operand stack configuration in order to use psDrawFilled:
- psDrawFilled
- vlist[0].y
- vlist[0].x
- n
- ...
- vlist[n].y
- vlist[n].x
- graphics-context dictionary
-this draws lines connecting all the points and fills the
-region with background color (default: 1, or white).
-\end{verbatim}
-<<drwfilled>>=
-/psDrawFilled
- { gsave
- newpath
- yVal moveto
- 1 sub {
- yVal lineto
- } repeat
- begin installGC fill end %% fills with foreground color
- grestore }
- def
-
-@
-\subsection{end}
-\begin{verbatim}
-\end{verbatim}
-<<end>>=
-
- cleartomark %% clearing operand stack
-
-end %% pops mainDict from dictionary stack
-
-showpage
-
-%-------------------------- end --------------------------%
-@
-\subsection{fillarc}
-\begin{verbatim}
-operand stack configuration in order to use psFillArc:
- psFillArc
- y center of rectangle
- x center of rectangle
- angle2
- angle1
- width
- height
- y
- x
- graphics-context dictionary
-this draws and fills an arc whose origin is at x, y, and whose width
-and height specifies the rectangle which encases the arc.
-Origin is at upper left corner of rectangle.
-This function uses "scale" to make cricles and ellipses.
-\end{verbatim}
-<<fillarc>>=
-/psFillArc
- { gsave
- yVal moveto
- newpath
- /sfactor 4 index 4 index div def
- 1 sfactor scale
- 6 5 roll %% x on top of stack
- 3 index 2 div add %% define x origin
- 6 5 roll %% y on top of stack
- 6 5 roll %% h on top of stack
- 2 div add yVal sfactor div %% define y origin
- 5 4 roll %% w on top of stack
- 2 div %% define radius
- 5 3 roll %% a1 a2 now on top
- 1 index add
- arc %% draw clockwise arc
- begin installGC fill end %% fills with foreground color
- grestore }
- def
-
-@
-\subsection{fillpoly}
-\begin{verbatim}
-operand stack configuration in order to use psDrawFilled:
- psFillPoly
- XPoint[0].y
- XPoint[0].x
- n
- ...
- XPoint[n].y
- XPoint[n].x
- graphics-context dictionary
-this draws a polygon by connecting all the points and fills the
-region with foreground color
-\end{verbatim}
-<<fillpoly>>=
-/psFillPoly
- { gsave
- newpath
- yVal moveto
- 1 sub {
- yVal lineto
- } repeat
- closepath
- begin installGC fill end %% fills with foreground color
- grestore }
- def
-
-@
-\subsection{fillwol}
-\begin{verbatim}
-operand stack configuration in order to use psDrawFilled:
- psFillwOL
- XPoint[0].y
- XPoint[0].x
- n
- ...
- XPoint[n].y
- XPoint[n].x
- graphics-context dictionary
-this draws lines connecting all the points and fills the
-region with background color (default: 1, or white).
-\end{verbatim}
-<<fillwol>>=
-/psFillwOutline
- { gsave
- newpath
- yVal moveto
- 1 sub {
- yVal lineto
- } repeat
- closepath
- begin installGC
- gsave fill grestore %% fills with foreground color
- 0 setgray stroke grestore end } %% outline it with black
- def
-
-@
-\subsection{header}
-\begin{verbatim}
-\end{verbatim}
-<<header>>=
-%!PS-Adobe-2.0
-%%DocumentFonts: Times-Roman
-%%Creator: AXIOM
-%%CreationDate: today
-%%Pages: 1
-%%processing (hard) limit: 250 pts or 500 values for the operand stack.
-%%EndComments
-
-%------------------------------- prologue -------------------------------%
-%-------------------------- support procedures --------------------------%
-
-%--------- first create user dictionary with 100 entries max ------------%
-% (number can be changed to accomodate definitions) %
-
-100 dict begin %% using 100 entries in top level dictionary
-
-/FontHeight 12 def
-
-/inch
- { 72 mul }
- def
-
-% yVal and hVal are necessary because the Xwindow display origin
-% is at the upper left corner, while the postscript display
-% origin is at the lower left hand corner.
-
-/yVal %% get Y value -- make upper left corner origin
- { maxY exch sub } %% maxY is viewWindow height
- def
-
-/hVal %% get H value -- used for displaying title text
- { maxH sub abs } %% maxH is viewWindow height+titleWindow height
- def
-
-% loads in the font
-
-/loadFont
- { /Times-Roman findfont FontHeight scalefont setfont }
- def
-
-% draws a rectangle with input operand:
-% height
-% width
-% notice that this function does not "draw" or ink the rectangle.
-/drawRect
- { 1 index 1 add 0 rlineto %% draw first side
- 0 exch 1 add neg rlineto %% draw second side
- 1 add neg 0 rlineto %% draw third side
- closepath } %% draw fourth side
- def
-
-% create a rectangle with input operand in the view window:
-% y
-% x
-% height
-% width
-% notice that this function does not "draw" or ink the rectangle.
-/rectangle
- { yVal moveto %% set currentpoint for line
- drawRect } %% draws the rectangle
- def
-
-% These are global variables that every draw procedure uses
-% THe operand should be as follows:
-% viewWindow width
-% viewWindow height
-% title height
-/setDim
- { /maxX exch def %% width of display
- /maxY exch def %% height of display
- /titleH exch def %% height of title
- /maxH maxY titleH add def %% height of display + title
- } def
-
-%-------------------------- major procedures --------------------------%
-
-/title %% draws a rectangle around the title of picture
- { gsave
- newpath
- moveto %% lower left of title
- titleH 1 add 0 exch rlineto %% draw first side
- 1 add 0 rlineto %% draw second side
- 1 add neg 0 exch rlineto
- begin installGC stroke end %% draw third side
- grestore }
- def
-
-/drawFrame %% draw display frame
- { gsave
- newpath
- maxX maxY 0 0 rectangle
- begin installGC stroke end
- grestore }
- def
-
-% updates the foreground color of existing graphics-context dictionary:
-% foreground color
-% dictionary name
-/setForeground
- { /FGcolor exch put }
- def
-
-% updates the background color of existing graphics-context dictionary:
-% background color
-% dictionary name
-/setBackground
- { /BGcolor exch put }
- def
-
-% updates the line width, line style, cap style, join style of
-% existing graphics-context dictionary:
-% dictionary name
-% join style
-% cap style
-% line width
-/setLineAttributes
- { begin
- /JoinStyle exch def
- /CapStyle exch def
- /LineWidth exch def
- end }
- def
-
-% creates a graphics context dictionary with the following information:
-% /dictionary name
-% foreground color
-% background color
-% line width
-% cap style
-% join style
-% this creates different graphical contexts for different drawing functions.
-/makeDict
- { 5 dict 2 copy def begin pop %% with dict name on top of stack
- /FGcolor exch def %% define drawing attributes
- /BGcolor exch def %% not heavily used
- /LineWidth exch def
- /CapStyle exch def
- /JoinStyle exch def
- end }
- def
-
-% makes the current dictionary attributes effective
-% this function takes the values in the current dictionary to set the context
-% these are the values currently being used: foreground, cap, join, and width
-/installGC
- {
- FGcolor currentgray ne
- {FGcolor setgray} if %% foreground color
- CapStyle currentlinecap ne
- {CapStyle setlinecap} if %% cap style
- JoinStyle currentlinejoin ne
- {JoinStyle setlinejoin} if %% join style
- LineWidth currentlinewidth ne
- {LineWidth setlinewidth} if } %% line width
- def
-
-@
-\subsection{setup}
-\begin{verbatim}
-\end{verbatim}
-<<setup>>=
-%-------------------------- script --------------------------%
-
-% 1 inch 1 inch translate
-
- mark %% mark bottom of our stack
-
-@
-<<*>>=
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/graph/gdraws/yesorno.c.pamphlet
b/src/graph/gdraws/yesorno.c.pamphlet
deleted file mode 100644
index 693428d..0000000
--- a/src/graph/gdraws/yesorno.c.pamphlet
+++ /dev/null
@@ -1,67 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/graph yesorno.c}
-\author{The Axiom Team}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-@
-<<*>>=
-<<license>>
-
-/*
- * Decides if mouse click was in yes or no region; used by program to test
- * out Gdraw functions in this directory.
- */
-
-#include "gdraws0.h"
-
-int
-Gdraws_pressed_yes(int win_width, int win_height, int x, int y)
-{
- return (x < win_width / 2) ? yes : no;
-}
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Axiom-developer] 20080608.02.tpd.patch (remove gdraws directory, use bookvol8),
daly <=