papyrus logo

factory.h

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

Generated on Fri Apr 16 12:40:10 2010 for papyrus by doxygen 1.6.1