mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-11-18 11:05:18 +00:00
146 lines
5.7 KiB
Plaintext
146 lines
5.7 KiB
Plaintext
/*
|
|
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>
|
|
|
|
rsvg-cairo.h: SAX-based renderer for SVG files using cairo
|
|
|
|
Copyright (C) 2005 Red Hat, 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: Carl Worth <cworth@cworth.org>
|
|
*/
|
|
|
|
$#include <glib.h>
|
|
$#include <librsvg/rsvg.h>
|
|
$#include "librsvg-helper.h"
|
|
|
|
typedef struct _RsvgHandle RsvgHandle;
|
|
typedef struct _RsvgHandleClass RsvgHandleClass;
|
|
|
|
/**
|
|
* RsvgDimensionData:
|
|
* @width: SVG's width, in pixels
|
|
* @height: SVG's height, in pixels
|
|
* @em: em
|
|
* @ex: ex
|
|
*/
|
|
typedef struct _RsvgDimensionData {
|
|
int width;
|
|
int height;
|
|
double em;
|
|
double ex;
|
|
static tolua_outside RsvgDimensionData * rsvgDimensionDataCreate @ create();
|
|
tolua_outside void rsvgDimensionDataGet @ get(int * width, int * height,
|
|
double * em, double * ex);
|
|
} RsvgDimensionData;
|
|
|
|
/**
|
|
* RsvgRectangle:
|
|
* @x: X coordinate of the left side of the rectangle
|
|
* @y: Y coordinate of the the top side of the rectangle
|
|
* @width: width of the rectangle
|
|
* @height: height of the rectangle
|
|
*
|
|
* A data structure for holding a rectangle.
|
|
*
|
|
* Since: 2.46
|
|
*/
|
|
typedef struct _RsvgRectangle {
|
|
double x;
|
|
double y;
|
|
double width;
|
|
double height;
|
|
} RsvgRectangle;
|
|
|
|
const char *rsvg_handle_get_base_uri (RsvgHandle * handle);
|
|
void rsvg_handle_set_base_uri (RsvgHandle * handle, const char *base_uri);
|
|
|
|
gboolean rsvg_handle_get_intrinsic_size_in_pixels (RsvgHandle *handle,
|
|
gdouble *out_width,
|
|
gdouble *out_height);
|
|
|
|
gboolean rsvg_handle_get_geometry_for_layer(RsvgHandle *handle,
|
|
const char *id,
|
|
const RsvgRectangle *viewport,
|
|
RsvgRectangle *out_ink_rect,
|
|
RsvgRectangle *out_logical_rect,
|
|
GError **error);
|
|
|
|
int rsvg_handle_has_sub (RsvgHandle * handle, const char *id);
|
|
|
|
RsvgHandle *rsvg_handle_new_with_flags (RsvgHandleFlags flags);
|
|
|
|
RsvgHandle *rsvg_handle_new_from_data (const unsigned char * data, unsigned long data_len, GError ** error);
|
|
RsvgHandle *rsvg_handle_new_from_file (const char * file_name, GError ** error);
|
|
|
|
gboolean rsvg_handle_render_document(RsvgHandle *handle,
|
|
cairo_t *cr,
|
|
const RsvgRectangle *viewport,
|
|
GError **error);
|
|
gboolean rsvg_handle_render_layer (RsvgHandle *handle,
|
|
cairo_t *cr,
|
|
const char *id,
|
|
const RsvgRectangle *viewport,
|
|
GError **error);
|
|
|
|
void g_object_unref(gpointer object);
|
|
|
|
RsvgHandle * rsvg_create_handle_from_file(const char *);
|
|
int rsvg_destroy_handle(RsvgHandle *);
|
|
|
|
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 *filename, GError **error);
|