/usr/include/librsvg-2.0/librsvg/rsvg.h is in librsvg2-dev 2.40.16-1+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* vim: set sw=4 sts=4 ts=4 expandtab: */
/*
rsvg.h: SAX-based renderer for SVG files into a GdkPixbuf.
Copyright (C) 2000 Eazel, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
Author: Raph Levien <raph@artofcode.com>
*/
#ifndef RSVG_H
#define RSVG_H
#define __RSVG_RSVG_H_INSIDE__
#include <glib-object.h>
#include <gio/gio.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
G_BEGIN_DECLS
#if defined(RSVG_DISABLE_DEPRECATION_WARNINGS) || !GLIB_CHECK_VERSION (2, 31, 0)
#define RSVG_DEPRECATED
#define RSVG_DEPRECATED_FOR(f)
#else
#define RSVG_DEPRECATED G_DEPRECATED
#define RSVG_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f)
#endif
#define RSVG_TYPE_HANDLE (rsvg_handle_get_type ())
#define RSVG_HANDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RSVG_TYPE_HANDLE, RsvgHandle))
#define RSVG_HANDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RSVG_TYPE_HANDLE, RsvgHandleClass))
#define RSVG_IS_HANDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RSVG_TYPE_HANDLE))
#define RSVG_IS_HANDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RSVG_TYPE_HANDLE))
#define RSVG_HANDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RSVG_TYPE_HANDLE, RsvgHandleClass))
GType rsvg_handle_get_type (void);
/**
* RsvgError:
* @RSVG_ERROR_FAILED: the request failed
*
* An enumeration representing possible errors
*/
typedef enum {
RSVG_ERROR_FAILED
} RsvgError;
#define RSVG_ERROR (rsvg_error_quark ())
GQuark rsvg_error_quark (void) G_GNUC_CONST;
/**
* RsvgHandle:
*
* The #RsvgHandle is an object representing the parsed form of a SVG
*/
typedef struct _RsvgHandle RsvgHandle;
typedef struct RsvgHandlePrivate RsvgHandlePrivate;
typedef struct _RsvgHandleClass RsvgHandleClass;
typedef struct _RsvgDimensionData RsvgDimensionData;
typedef struct _RsvgPositionData RsvgPositionData;
/**
* RsvgHandleClass:
* @parent: parent class
*
* Class structure for #RsvgHandle
*/
struct _RsvgHandleClass {
GObjectClass parent;
/*< private >*/
gpointer _abi_padding[15];
};
struct _RsvgHandle {
GObject parent;
/*< private >*/
RsvgHandlePrivate *priv;
gpointer _abi_padding[15];
};
/**
* RsvgDimensionData:
* @width: SVG's width, in pixels
* @height: SVG's height, in pixels
* @em: em
* @ex: ex
*/
struct _RsvgDimensionData {
int width;
int height;
gdouble em;
gdouble ex;
};
/**
* RsvgPositionData:
* @x: position on the x axis
* @y: position on the y axis
*
* Position of an SVG fragment.
*/
struct _RsvgPositionData {
int x;
int y;
};
void rsvg_cleanup (void);
void rsvg_set_default_dpi (double dpi);
void rsvg_set_default_dpi_x_y (double dpi_x, double dpi_y);
void rsvg_handle_set_dpi (RsvgHandle * handle, double dpi);
void rsvg_handle_set_dpi_x_y (RsvgHandle * handle, double dpi_x, double dpi_y);
RsvgHandle *rsvg_handle_new (void);
gboolean rsvg_handle_write (RsvgHandle * handle, const guchar * buf,
gsize count, GError ** error);
gboolean rsvg_handle_close (RsvgHandle * handle, GError ** error);
GdkPixbuf *rsvg_handle_get_pixbuf (RsvgHandle * handle);
GdkPixbuf *rsvg_handle_get_pixbuf_sub (RsvgHandle * handle, const char *id);
const char *rsvg_handle_get_base_uri (RsvgHandle * handle);
void rsvg_handle_set_base_uri (RsvgHandle * handle, const char *base_uri);
void rsvg_handle_get_dimensions (RsvgHandle * handle, RsvgDimensionData * dimension_data);
gboolean rsvg_handle_get_dimensions_sub (RsvgHandle * handle, RsvgDimensionData * dimension_data, const char *id);
gboolean rsvg_handle_get_position_sub (RsvgHandle * handle, RsvgPositionData * position_data, const char *id);
gboolean rsvg_handle_has_sub (RsvgHandle * handle, const char *id);
/* GIO APIs */
/**
* RsvgHandleFlags:
* @RSVG_HANDLE_FLAGS_NONE: none
* @RSVG_HANDLE_FLAG_UNLIMITED: Allow any SVG XML without size limitations.
* For security reasons, this should only be used for trusted input!
* Since: 2.40.3
* @RSVG_HANDLE_FLAG_KEEP_IMAGE_DATA: Keeps the image data when loading images,
* for use by cairo when painting to e.g. a PDF surface. This will make the
* resulting PDF file smaller and faster.
* Since: 2.40.3
*/
typedef enum /*< flags >*/
{
RSVG_HANDLE_FLAGS_NONE = 0,
RSVG_HANDLE_FLAG_UNLIMITED = 1 << 0,
RSVG_HANDLE_FLAG_KEEP_IMAGE_DATA = 1 << 1
} RsvgHandleFlags;
RsvgHandle *rsvg_handle_new_with_flags (RsvgHandleFlags flags);
void rsvg_handle_set_base_gfile (RsvgHandle *handle,
GFile *base_file);
gboolean rsvg_handle_read_stream_sync (RsvgHandle *handle,
GInputStream *stream,
GCancellable *cancellable,
GError **error);
RsvgHandle *rsvg_handle_new_from_gfile_sync (GFile *file,
RsvgHandleFlags flags,
GCancellable *cancellable,
GError **error);
RsvgHandle *rsvg_handle_new_from_stream_sync (GInputStream *input_stream,
GFile *base_file,
RsvgHandleFlags flags,
GCancellable *cancellable,
GError **error);
RsvgHandle *rsvg_handle_new_from_data (const guint8 * data, gsize data_len, GError ** error);
RsvgHandle *rsvg_handle_new_from_file (const gchar * file_name, GError ** error);
/* BEGIN deprecated APIs. Do not use! */
#ifndef __GI_SCANNER__
RSVG_DEPRECATED_FOR(g_type_init)
void rsvg_init (void);
RSVG_DEPRECATED
void rsvg_term (void);
RSVG_DEPRECATED_FOR(g_object_unref)
void rsvg_handle_free (RsvgHandle * handle);
/**
* RsvgSizeFunc:
* @width: (out): the width of the SVG
* @height: (out): the height of the SVG
* @user_data: user data
*
* Function to let a user of the library specify the SVG's dimensions
*
* Deprecated: Set up a cairo matrix and use rsvg_handle_render_cairo() instead.
* See the documentation for rsvg_handle_set_size_callback() for an example.
*/
typedef /* RSVG_DEPRECATED */ void (*RsvgSizeFunc) (gint * width, gint * height, gpointer user_data);
RSVG_DEPRECATED
void rsvg_handle_set_size_callback (RsvgHandle * handle,
RsvgSizeFunc size_func,
gpointer user_data, GDestroyNotify user_data_destroy);
/* GdkPixbuf convenience API */
RSVG_DEPRECATED
GdkPixbuf *rsvg_pixbuf_from_file (const gchar * file_name, GError ** error);
RSVG_DEPRECATED
GdkPixbuf *rsvg_pixbuf_from_file_at_zoom (const gchar * file_name,
double x_zoom, double y_zoom, GError ** error);
RSVG_DEPRECATED
GdkPixbuf *rsvg_pixbuf_from_file_at_size (const gchar * file_name, gint width, gint height,
GError ** error);
RSVG_DEPRECATED
GdkPixbuf *rsvg_pixbuf_from_file_at_max_size (const gchar * file_name,
gint max_width, gint max_height, GError ** error);
RSVG_DEPRECATED
GdkPixbuf *rsvg_pixbuf_from_file_at_zoom_with_max (const gchar * file_name,
double x_zoom,
double y_zoom,
gint max_width, gint max_height, GError ** error);
RSVG_DEPRECATED
const char *rsvg_handle_get_title (RsvgHandle * handle);
RSVG_DEPRECATED
const char *rsvg_handle_get_desc (RsvgHandle * handle);
RSVG_DEPRECATED
const char *rsvg_handle_get_metadata (RsvgHandle * handle);
#endif /* !__GI_SCANNER__ */
/* END deprecated APIs. */
G_END_DECLS
#include "librsvg-enum-types.h"
#include "librsvg-features.h"
#include "rsvg-cairo.h"
#undef __RSVG_RSVG_H_INSIDE__
#endif /* RSVG_H */
|