Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:54:03

0001 /* cairo - a vector graphics library with display and print output
0002  *
0003  * Copyright © 2008 Chris Wilson
0004  *
0005  * This library is free software; you can redistribute it and/or
0006  * modify it either under the terms of the GNU Lesser General Public
0007  * License version 2.1 as published by the Free Software Foundation
0008  * (the "LGPL") or, at your option, under the terms of the Mozilla
0009  * Public License Version 1.1 (the "MPL"). If you do not alter this
0010  * notice, a recipient may use your version of this file under either
0011  * the MPL or the LGPL.
0012  *
0013  * You should have received a copy of the LGPL along with this library
0014  * in the file COPYING-LGPL-2.1; if not, write to the Free Software
0015  * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
0016  * You should have received a copy of the MPL along with this library
0017  * in the file COPYING-MPL-1.1
0018  *
0019  * The contents of this file are subject to the Mozilla Public License
0020  * Version 1.1 (the "License"); you may not use this file except in
0021  * compliance with the License. You may obtain a copy of the License at
0022  * http://www.mozilla.org/MPL/
0023  *
0024  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
0025  * OF ANY KIND, either express or implied. See the LGPL or the MPL for
0026  * the specific language governing rights and limitations.
0027  *
0028  * The Original Code is the cairo graphics library.
0029  *
0030  * The Initial Developer of the Original Code is Chris Wilson
0031  *
0032  * Contributor(s):
0033  *  Chris Wilson <chris@chris-wilson.co.uk>
0034  */
0035 
0036 #ifndef CAIRO_SCRIPT_H
0037 #define CAIRO_SCRIPT_H
0038 
0039 #include "cairo.h"
0040 
0041 #if CAIRO_HAS_SCRIPT_SURFACE
0042 
0043 CAIRO_BEGIN_DECLS
0044 
0045 /**
0046  * cairo_script_mode_t:
0047  * @CAIRO_SCRIPT_MODE_ASCII: the output will be in readable text (default). (Since 1.12)
0048  * @CAIRO_SCRIPT_MODE_BINARY: the output will use byte codes. (Since 1.12)
0049  *
0050  * A set of script output variants.
0051  *
0052  * Since: 1.12
0053  **/
0054 typedef enum {
0055     CAIRO_SCRIPT_MODE_ASCII,
0056     CAIRO_SCRIPT_MODE_BINARY
0057 } cairo_script_mode_t;
0058 
0059 cairo_public cairo_device_t *
0060 cairo_script_create (const char *filename);
0061 
0062 cairo_public cairo_device_t *
0063 cairo_script_create_for_stream (cairo_write_func_t   write_func,
0064                 void            *closure);
0065 
0066 cairo_public void
0067 cairo_script_write_comment (cairo_device_t *script,
0068                 const char *comment,
0069                 int len);
0070 
0071 cairo_public void
0072 cairo_script_set_mode (cairo_device_t *script,
0073                cairo_script_mode_t mode);
0074 
0075 cairo_public cairo_script_mode_t
0076 cairo_script_get_mode (cairo_device_t *script);
0077 
0078 cairo_public cairo_surface_t *
0079 cairo_script_surface_create (cairo_device_t *script,
0080                  cairo_content_t content,
0081                  double width,
0082                  double height);
0083 
0084 cairo_public cairo_surface_t *
0085 cairo_script_surface_create_for_target (cairo_device_t *script,
0086                     cairo_surface_t *target);
0087 
0088 cairo_public cairo_status_t
0089 cairo_script_from_recording_surface (cairo_device_t *script,
0090                      cairo_surface_t    *recording_surface);
0091 
0092 CAIRO_END_DECLS
0093 
0094 #else  /*CAIRO_HAS_SCRIPT_SURFACE*/
0095 # error Cairo was not compiled with support for the CairoScript backend
0096 #endif /*CAIRO_HAS_SCRIPT_SURFACE*/
0097 
0098 #endif /*CAIRO_SCRIPT_H*/