1 /* 2 * goffice-utils.h: 3 * 4 * Copyright (C) 2003-2004 Jody Goldberg (jody@gnome.org) 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License as 8 * published by the Free Software Foundation; either version 2 of the 9 * License, or (at your option) version 3. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 19 * USA 20 */ 21 22 #ifndef GOFFICE_UTILS_H 23 #define GOFFICE_UTILS_H 24 25 #include <glib.h> 26 27 G_BEGIN_DECLS 28 29 typedef guint32 GOColor; 30 typedef struct _GOBezierSpline GOBezierSpline; 31 typedef struct _GOEditor GOEditor; 32 typedef struct _GOFont GOFont; 33 typedef struct _GOFontMetrics GOFontMetrics; 34 typedef struct _GOPattern GOPattern; 35 typedef struct _GOMarker GOMarker; 36 typedef struct _GOFormat GOFormat; 37 typedef struct _GODateConventions GODateConventions; 38 typedef struct _GOImage GOImage; 39 typedef struct _GOPixbuf GOPixbuf; 40 typedef struct _GOSvg GOSvg; 41 typedef struct _GOEmf GOEmf; 42 typedef struct _GOSpectre GOSpectre; 43 typedef struct _GOPath GOPath; 44 typedef struct _GOString GOString; 45 typedef struct _GOStyle GOStyle; 46 typedef struct _GOStyledObject GOStyledObject; 47 48 /* rename this */ 49 typedef struct _GOMemChunk GOMemChunk; 50 51 typedef const char *(*GOTranslateFunc)(char const *path, gpointer func_data); 52 53 typedef enum { 54 GO_LINE_NONE, 55 GO_LINE_SOLID, 56 GO_LINE_S_DOT, 57 GO_LINE_S_DASH_DOT, 58 GO_LINE_S_DASH_DOT_DOT, 59 GO_LINE_DASH_DOT_DOT_DOT, 60 GO_LINE_DOT, 61 GO_LINE_S_DASH, 62 GO_LINE_DASH, 63 GO_LINE_LONG_DASH, 64 GO_LINE_DASH_DOT, 65 GO_LINE_DASH_DOT_DOT, 66 GO_LINE_MAX 67 } GOLineDashType; 68 69 typedef enum { 70 GO_LINE_INTERPOLATION_LINEAR, 71 GO_LINE_INTERPOLATION_SPLINE, 72 GO_LINE_INTERPOLATION_CLOSED_SPLINE, 73 GO_LINE_INTERPOLATION_CUBIC_SPLINE, 74 GO_LINE_INTERPOLATION_PARABOLIC_CUBIC_SPLINE, 75 GO_LINE_INTERPOLATION_CUBIC_CUBIC_SPLINE, 76 GO_LINE_INTERPOLATION_CLAMPED_CUBIC_SPLINE, 77 GO_LINE_INTERPOLATION_STEP_START, 78 GO_LINE_INTERPOLATION_STEP_END, 79 GO_LINE_INTERPOLATION_STEP_CENTER_X, 80 GO_LINE_INTERPOLATION_STEP_CENTER_Y, 81 GO_LINE_INTERPOLATION_ODF_SPLINE, 82 GO_LINE_INTERPOLATION_MAX 83 } GOLineInterpolation; 84 85 typedef enum 86 { 87 GO_ANCHOR_CENTER, 88 GO_ANCHOR_NORTH, 89 GO_ANCHOR_NORTH_WEST, 90 GO_ANCHOR_NORTH_EAST, 91 GO_ANCHOR_SOUTH, 92 GO_ANCHOR_SOUTH_WEST, 93 GO_ANCHOR_SOUTH_EAST, 94 GO_ANCHOR_WEST, 95 GO_ANCHOR_EAST, 96 GO_ANCHOR_BASELINE_CENTER, 97 GO_ANCHOR_BASELINE_WEST, 98 GO_ANCHOR_BASELINE_EAST, 99 GO_ANCHOR_N = GO_ANCHOR_NORTH, 100 GO_ANCHOR_NW = GO_ANCHOR_NORTH_WEST, 101 GO_ANCHOR_NE = GO_ANCHOR_NORTH_EAST, 102 GO_ANCHOR_S = GO_ANCHOR_SOUTH, 103 GO_ANCHOR_SW = GO_ANCHOR_SOUTH_WEST, 104 GO_ANCHOR_SE = GO_ANCHOR_SOUTH_EAST, 105 GO_ANCHOR_W = GO_ANCHOR_WEST, 106 GO_ANCHOR_E = GO_ANCHOR_EAST, 107 GO_ANCHOR_B = GO_ANCHOR_BASELINE_CENTER, 108 GO_ANCHOR_BW = GO_ANCHOR_BASELINE_WEST, 109 GO_ANCHOR_BE = GO_ANCHOR_BASELINE_EAST 110 } GOAnchorType; 111 112 typedef enum { 113 GOD_ANCHOR_DIR_UNKNOWN = 0xFF, 114 GOD_ANCHOR_DIR_UP_LEFT = 0x00, 115 GOD_ANCHOR_DIR_UP_RIGHT = 0x01, 116 GOD_ANCHOR_DIR_DOWN_LEFT = 0x10, 117 GOD_ANCHOR_DIR_DOWN_RIGHT = 0x11, 118 119 GOD_ANCHOR_DIR_NONE_MASK = 0x00, 120 GOD_ANCHOR_DIR_H_MASK = 0x01, 121 GOD_ANCHOR_DIR_RIGHT = 0x01, 122 GOD_ANCHOR_DIR_V_MASK = 0x10, 123 GOD_ANCHOR_DIR_DOWN = 0x10 124 } GODrawingAnchorDir; 125 126 typedef struct _GODrawingAnchor { 127 int pos_pts [4]; /* position in points */ 128 GODrawingAnchorDir direction; 129 } GODrawingAnchor; 130 131 typedef enum { 132 GO_FONT_SCRIPT_SUB = -1, 133 GO_FONT_SCRIPT_STANDARD = 0, 134 GO_FONT_SCRIPT_SUPER = 1 135 } GOFontScript; 136 137 typedef enum { 138 GO_RESOURCE_NATIVE, 139 GO_RESOURCE_RO, 140 GO_RESOURCE_RW, 141 GO_RESOURCE_CHILD, 142 GO_RESOURCE_EXTERNAL, 143 GO_RESOURCE_GENERATED, 144 GO_RESOURCE_INVALID 145 } GoResourceType; 146 147 G_END_DECLS 148 149 #include <goffice/goffice.h> 150 151 #include <goffice/utils/datetime.h> 152 #include <goffice/utils/go-bezier.h> 153 #include <goffice/utils/go-cairo.h> 154 #include <goffice/utils/go-color.h> 155 #include <goffice/utils/go-editor.h> 156 #include <goffice/utils/go-file.h> 157 #include <goffice/utils/go-font.h> 158 #include <goffice/utils/go-format.h> 159 #include <goffice/utils/go-geometry.h> 160 #include <goffice/utils/go-glib-extras.h> 161 #include <goffice/utils/go-gdk-pixbuf.h> 162 #include <goffice/utils/go-gradient.h> 163 #include <goffice/utils/go-image.h> 164 #include <goffice/utils/go-pixbuf.h> 165 #include <goffice/utils/go-svg.h> 166 #include <goffice/utils/go-emf.h> 167 #include <goffice/utils/go-spectre.h> 168 #include <goffice/utils/go-libxml-extras.h> 169 #include <goffice/utils/go-line.h> 170 #include <goffice/utils/go-locale.h> 171 #include <goffice/utils/go-marker.h> 172 #include <goffice/utils/go-mml-to-itex.h> 173 #include <goffice/utils/go-pango-extras.h> 174 #include <goffice/utils/go-path.h> 175 #include <goffice/utils/go-pattern.h> 176 #include <goffice/utils/go-persist.h> 177 #include <goffice/utils/go-rsm.h> 178 #include <goffice/utils/go-string.h> 179 #include <goffice/utils/go-styled-object.h> 180 #include <goffice/utils/go-style.h> 181 #include <goffice/utils/go-undo.h> 182 #include <goffice/utils/go-unit.h> 183 #include <goffice/utils/go-units.h> 184 #include <goffice/utils/regutf8.h> 185 186 GType go_resource_type_get_type (void); 187 char *go_uuid (void); 188 189 #endif /* GOFFICE_UTILS_H */ 190