Back to index

scribus-ng  1.3.4.dfsg+svn20071115
art_kmisc.h
Go to the documentation of this file.
00001 /*
00002 For general Scribus (>=1.3.2) copyright and licensing information please refer
00003 to the COPYING file provided with the program. Following this notice may exist
00004 a copyright and/or license notice that predates the release of Scribus 1.3.2
00005 for which a new license (GPL+exception) is in place.
00006 */
00007 /* Libart_LGPL - library of basic graphic primitives
00008  * Copyright (C) 1998 Raph Levien
00009  *
00010  * This library is free software; you can redistribute it and/or
00011  * modify it under the terms of the GNU Library General Public
00012  * License as published by the Free Software Foundation; either
00013  * version 2 of the License, or (at your option) any later version.
00014  *
00015  * This library is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018  * Library General Public License for more details.
00019  *
00020  * You should have received a copy of the GNU Library General Public
00021  * License along with this library; if not, write to the
00022  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00023  * Boston, MA 02111-1307, USA.
00024  */
00025 
00026 #ifndef __KSVG_ART_H__
00027 #define __KSVG_ART_H__
00028 
00029 #include <libart_lgpl/art_misc.h>
00030 #include <libart_lgpl/art_bpath.h>
00031 #include <libart_lgpl/art_vpath.h>
00032 #include <libart_lgpl/art_alphagamma.h>
00033 #include <libart_lgpl/art_filterlevel.h>
00034 #include <libart_lgpl/art_svp.h>
00035 
00036 #define ART_END2 10
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00042         void ksvg_art_vpath_render_bez (ArtVpath **p_vpath, int *pn, int *pn_max,
00043                             double x0, double y0,
00044                             double x1, double y1,
00045                             double x2, double y2,
00046                             double x3, double y3,
00047                             double flatness);
00048 
00049         ArtVpath *ksvg_art_bez_path_to_vec(const ArtBpath *bez, double flatness);
00050        
00051         void ksvg_art_rgb_affine_run (int *p_x0, int *p_x1, int y,
00052                      int src_width, int src_height,
00053                      const double affine[6]);
00054 
00055         void ksvg_art_rgb_affine (art_u8 *dst, int x0, int y0, int x1, int y1, int dst_rowstride,
00056                      const art_u8 *src,
00057                      int src_width, int src_height, int src_rowstride,
00058                      const double affine[6],
00059                      ArtFilterLevel level,
00060                      ArtAlphaGamma *alphagamma,
00061                      int alpha);
00062 
00063        void ksvg_art_rgb_affine_clip(const ArtSVP *svp, art_u8 *dst, int x0, int y0, int x1, int y1, int dst_rowstride, int dst_channels,
00064                      const art_u8 *src,
00065                      int src_width, int src_height, int src_rowstride,
00066                      const double affine[6],
00067                      int alpha, const art_u8 *mask);
00068        
00069 #ifdef __cplusplus
00070 }
00071 #endif
00072 
00073 #endif