papyrus logo

enums.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 PAPYRUSENUMS_H
00021 #define PAPYRUSENUMS_H
00022 
00023 #include <cairomm/enums.h>
00024 
00025 namespace Papyrus
00026 {
00027 
00035   typedef enum SelectionMode {
00036     SELECT_PRESS = 1 << 0,   
00037     SELECT_RELEASE = 1 << 1,   
00038     SELECT_FOLLOW = 1 << 2,   
00039   } SelectionMode;
00040 
00041   typedef enum AffineTransform {
00042     TRANSLATE_X = 1 << 0,
00043     TRANSLATE_Y = 1 << 1,
00044     SCALE_X = 1 << 2,
00045     SCALE_Y = 1 << 3,
00046     ROTATE = 1 << 4,
00047     SKEW_X = 1 << 5,
00048     SKEW_Y = 1 << 6,
00049   } AffineTransform;
00050 
00051   enum {
00052     FILL = 1<<0,
00053     STROKE = 1<<1
00054   };
00055 
00056   typedef enum Side {
00057     TOP = 1<<0,
00058     RIGHT = 1<<1,
00059     BOTTOM = 1<<2,
00060     LEFT = 1<<3,
00061   } Side;
00062 
00063   typedef enum Position {
00064     START_POSITION,
00065     TOP_CENTER=START_POSITION,
00066     TOP_RIGHT,
00067     CENTER_RIGHT,
00068     BOTTOM_RIGHT,
00069     BOTTOM_CENTER,
00070     BOTTOM_LEFT,
00071     CENTER_LEFT,
00072     TOP_LEFT,
00073     END_POSITION,
00074   } Position;
00075 
00076   typedef enum Axis {
00077     X_AXIS = 1<<0,
00078     Y_AXIS = 1<<1,
00079   } Axis;
00080 
00081   typedef enum Handles {
00082     NO_HANDLES = 0,
00083     CORNER_HANDLES = 1<<0,
00084     ALL_HANDLES = 1<<1,
00085   } Handles;
00086 
00087   typedef enum ScrollAnchor {
00088     SCROLL_ANCHOR_CENTER,
00089     SCROLL_ANCHOR_TOP_LEFT,
00090     SCROLL_ANCHOR_TOP_RIGHT,
00091     SCROLL_ANCHOR_BOTTOM_LEFT,
00092     SCROLL_ANCHOR_BOTTOM_RIGHT
00093   } ScrollAnchor;
00094 
00095   typedef enum PathElementType {
00096     PATH_UNDEFINED,
00097     PATH_MOVETO,
00098     PATH_REL_MOVETO,
00099     PATH_CLOSE,
00100     PATH_LINETO,
00101     PATH_REL_LINETO,
00102     PATH_HORIZONTAL_LINETO,
00103     PATH_REL_HORIZONTAL_LINETO,
00104     PATH_VERTICAL_LINETO,
00105     PATH_REL_VERTICAL_LINETO,
00106     PATH_CURVETO,
00107     PATH_REL_CURVETO,
00108     PATH_SMOOTH_CURVETO,
00109     PATH_REL_SMOOTH_CURVETO,
00110     PATH_QUADRATIC_BEZIER_CURVETO,
00111     PATH_REL_QUADRATIC_BEZIER_CURVETO,
00112     PATH_SMOOTH_QUADRATIC_BEZIER_CURVETO,
00113     PATH_REL_SMOOTH_QUADRATIC_BEZIER_CURVETO,
00114     PATH_ELIPTICAL_ARC,
00115     PATH_REL_ELIPTICAL_ARC,
00116   } PathElementType;
00117 
00118   typedef enum Units {
00119     UNIT_PIXEL,
00120     UNIT_POINTS,
00121     UNIT_INCH,
00122     UNIT_MM,
00123   } Units;
00124 
00125   typedef enum DegRad {
00126     DEGREES,
00127     RADIANS,
00128   } DegRad;
00129 
00130   typedef enum MarkerPosition {
00131     START_MARKER,
00132     VERTEX_MARKER,
00133     END_MARKER
00134   } MarkerPosition;
00135 
00136   typedef enum ExtentsPerformance {
00137     EXTENTS_QUICK=1,
00138     EXTENTS_PRECISE,
00139   } ExtentsPerformance;
00140 
00141   typedef enum OverUnder {
00142     OVER=1,
00143     UNDER,
00144   } OverUnder;
00145   
00151   typedef enum FrozenThawed {
00152     THAWED=0,
00153     FROZEN=1
00154   } FrozenThawed;
00155   
00156   typedef enum GradientUnits {
00157     GRADIENT_UNITS_NONE,
00158     GRADIENT_UNITS_USER_SPACE,
00159     GRADIENT_UNITS_OBJECT,
00160   } GradientUnits;
00161   
00162   typedef enum GradientSpread {
00163     GRADIENT_SPREAD_NONE = Cairo::EXTEND_NONE,
00164     GRADIENT_SPREAD_PAD = Cairo::EXTEND_PAD,
00165     GRADIENT_SPREAD_REFLECT = Cairo::EXTEND_REFLECT,
00166     GRADIENT_SPREAD_REPEAT = Cairo::EXTEND_REPEAT,
00167   } GradientSpread;
00168   
00169   typedef enum RenderFlags {
00170     RENDER_FLAGS_NONE                  =0,
00171     RENDER_SUPPRESS_MATRIX             =1<<0, 
00172     RENDER_SUPPRESS_CAIRO_FILL         =1<<1, 
00173     RENDER_SUPPRESS_CAIRO_STROKE       =1<<2, 
00174     RENDER_SUPPRESS_CAIRO_SAVE_RESTORE =1<<3, 
00175     RENDER_HINT_FILL                   =1<<4, 
00176     RENDER_HINT_STROKE                 =1<<5, 
00177   } RenderFlags;
00178 
00179   typedef enum Quantity {
00180     ABSOLUTE,
00181     PERCENT,
00182   } Quantity;
00183 
00184 }
00185 
00186 #endif

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