factory.h

00001 /***************************************************************************
00002  *   Copyright (C) 2004 by Rick L. Vinyard, Jr.                            *
00003  *   rvinyard@cs.nmsu.edu                                                  *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU Lesser General Public License as        *
00007  *   published by the Free Software Foundation version 2.1.                *
00008  *                                                                         *
00009  *   This program is distributed in the hope that it will be useful,       *
00010  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00011  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00012  *   GNU General Public License for more details.                          *
00013  *                                                                         *
00014  *   You should have received a copy of the GNU Lesser General Public      *
00015  *   License along with this library; if not, write to the                 *
00016  *   Free Software Foundation, Inc.,                                       *
00017  *   51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA              *
00018  ***************************************************************************/
00019 
00020 #ifndef PAPYRUS_FACTORY_H
00021 #define PAPYRUS_FACTORY_H
00022 
00023 #include <papyrus.h>
00024 
00025 namespace Papyrus {
00026 
00027 typedef enum DRAWABLE {
00028   DRAWABLE_START=0,
00029   ARC=0,
00030   BEZIERLINE,
00031   BEZIERGON,
00032   BOXED,
00033   CIRCLE,
00034   FACE,
00035   GRID,
00036   GROUP,
00037   HANDLEBOX,
00038   HILBERT,
00039   IMAGE,
00040   KOCHCURVE,
00041   KOCHSNOWFLAKE,
00042   POLYGON,
00043   POLYLINE,
00044   RECTANGLE,
00045   REGULARPOLYGON,
00046   SIERPINSKI,
00047   TEXT,
00048   DRAWABLE_END,
00049 } DRAWABLE;
00050 
00051 extern char* DrawableStrings[];
00052 
00053 Drawable::pointer example_factory( unsigned int d, bool fill=true, bool outline=false );
00054 
00055 Arc::pointer        example_arc(bool fill=true, bool outline=false);
00056 Bezierline::pointer example_bezierline(bool fill=false, bool outline=false);
00057 Beziergon::pointer  example_beziergon(bool fill=false, bool outline=false);
00058 Boxed::pointer      example_boxed(bool fill=false, bool outline=true);
00059 Circle::pointer     example_circle(bool fill=true, bool outline=false);
00060 Group::pointer      example_group(bool fill=true, bool outline=false);
00061 Handlebox::pointer  example_handlebox(bool fill=true, bool outline=false);
00062 Image::pointer      example_image(bool, bool);
00063 Rectangle::pointer  example_rectangle(bool fill=true, bool outline=false);
00064 
00065 Group::pointer  example_line_join( Cairo::LineJoin line_join );
00066 Group::pointer  example_line_cap( Cairo::LineCap line_cap );
00067 Polyline::pointer  example_marker( Papyrus::Marker::STYLE style, Papyrus::Marker::FACING facing, bool fill=false, bool outline = true);
00068 
00069 }
00070 
00071 #endif

Generated on Sun Mar 11 10:01:28 2007 by  doxygen 1.5.1