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   FACE,
00036   GRID,
00037   GROUP,
00038   HANDLEBOX,
00039   HILBERT,
00040   IMAGE,
00041   KOCHCURVE,
00042   KOCHSNOWFLAKE,
00043   PATH,
00044   POLYGON,
00045   POLYLINE,
00046   RECTANGLE,
00047   REFERENCE,
00048   REGULARPOLYGON,
00049   SIERPINSKI,
00050   SVG,
00051   TEXT,
00052   DRAWABLE_END,
00053 } DRAWABLE;
00054 
00055 extern const char* DrawableStrings[];
00056 
00057 Drawable::pointer example_factory( unsigned int d, bool fill=true, bool stroke=false );
00058 
00059 Arc::pointer        example_arc(bool fill=true, bool stroke=false);
00060 Annulus::pointer    example_annulus(bool fill=true, bool stroke=false);
00061 Bezierline::pointer example_bezierline(bool fill=false, bool stroke=false);
00062 Beziergon::pointer  example_beziergon(bool fill=false, bool stroke=false);
00063 Boxed::pointer      example_boxed(bool fill=false, bool stroke=true);
00064 Circle::pointer     example_circle(bool fill=true, bool stroke=false);
00065 Group::pointer      example_group(bool fill=true, bool stroke=false);
00066 Group::pointer      example_reference(bool fill=true, bool stroke=false);
00067 Handlebox::pointer  example_handlebox(bool fill=true, bool stroke=false);
00068 Image::pointer      example_image(bool, bool);
00069 Rectangle::pointer  example_rectangle(bool fill=true, bool stroke=false);
00070 SVG::pointer        example_svg(bool f=false, bool s=false);
00071 
00072 Group::pointer  example_line_join( Cairo::LineJoin line_join );
00073 Group::pointer  example_line_cap( Cairo::LineCap line_cap );
00074 Polyline::pointer  example_marker( Papyrus::Marker::Style style, Papyrus::Marker::Facing facing, bool fill=false, bool stroke = true);
00075 
00076 }
00077 
00078 #endif

Generated on Wed Mar 18 12:34:04 2009 for papyrus by doxygen 1.5.7.1