include/liq_xsurface.h

00001 /* liqbase
00002  * Copyright (C) 2008 Gary Birkett
00003  *
00004  * This program is free software; you can redistribute it and/or modify
00005  * it under the terms of the GNU General Public License version 2
00006  * as published by the Free Software Foundation.
00007  *
00008  * This program is distributed in the hope that it will be useful,
00009  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00011  * GNU General Public License for more details.
00012  *
00013  * You should have received a copy of the GNU General Public License
00014  * along with this program; if not, write to the Free Software
00015  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00016  */
00017 
00018 /*
00019  *
00020  * Header for Routines which write data onto a YUV liqimage surface
00021  *
00022  */
00023 
00024 
00025 
00026 #ifndef liq_xsurface_h
00027 #define liq_xsurface_h
00028 
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032 
00033 #include "liqimage.h"
00034 #include "liqfont.h"
00035 inline void xsurface_drawstrip_colortest1(
00036         register unsigned int  linecount,
00037         register unsigned int  charsperline,
00038         register unsigned char *srcdataptr,
00039         register unsigned char *dstdataptr,
00040         register unsigned int  srclinejump,
00041         register unsigned int  dstlinejump,
00042 
00043         liqimage *destimage,
00044         unsigned char col_y,
00045         unsigned char col_u,
00046         unsigned char col_v,
00047         int dsx,int dsy
00048         );
00049 inline void xsurface_drawstrip_or(
00050         register unsigned int  linecount,
00051         register unsigned int  charsperline,
00052         register unsigned char *srcdataptr,
00053         register unsigned char *dstdataptr,
00054         register unsigned int  srclinejump,
00055         register unsigned int  dstlinejump);
00056 inline void xsurface_drawstrip(
00057         register unsigned int  linecount,
00058         register unsigned int  charsperline,
00059         register unsigned char *srcdataptr,
00060         register unsigned char *dstdataptr,
00061         register unsigned int  srclinejump,
00062         register unsigned int  dstlinejump);
00063 
00064 inline void xsurface_drawglyph_grey(    liqimage *surface,liqfont *font,int x,int y,unsigned char glyph);
00065 
00066 
00067        int  xsurface_drawtext_grey(     liqimage *surface,liqfont *font,int xs,int ys,char *data);
00068        int  xsurface_drawtextn_grey(    liqimage *surface,liqfont *font,int xs,int ys,char *data,int datalen);
00069 inline void xsurface_drawclear_grey(    liqimage *surface,unsigned char grey);
00070 inline void xsurface_drawclear_yuv(     liqimage *surface,unsigned char grey,unsigned char u,unsigned char v);
00071 inline void xsurface_drawrect_yuv(      liqimage *surface,int x,int y,int w,int h, unsigned char grey,unsigned char u,unsigned char v);
00072 inline void xsurface_drawrect_grey(     liqimage *surface,int x,int y,int w,int h, unsigned char grey);
00073 inline void xsurface_drawrectwash_uv(   liqimage *surface,int x,int y,int w,int h, unsigned char u,unsigned char v);
00074 inline void xsurface_drawpset_yuv(      liqimage *surface,int x,int y,char grey,char u,char v);
00075 inline void xsurface_drawpset_grey(     liqimage *surface,int x,int y,char grey);
00076 inline void xsurface_drawpget_yuv(      liqimage *surface,int x1, int y1, unsigned char *grey,unsigned char *u,unsigned char *v);
00077        void xsurface_drawline_yuv(      liqimage *surface,int x1, int y1, int x2, int y2, char grey,char u,char v);
00078        void xsurface_drawline_grey(     liqimage *surface,int x1, int y1, int x2, int y2, char grey);
00079        void xsurface_drawline_greyinv(  liqimage *surface,int x1, int y1, int x2, int y2);
00080        void xsurface_drawcircle_grey(   liqimage *surface,int cx, int cy, int r,unsigned char grey);
00081 
00082 inline void xsurface_drawimage_color(   liqimage *surface,liqimage *image,int x,int y);
00083 
00084 void xsurface_drawzoomimage(
00085 
00086                                                                                 liqimage *srcimage,
00087                                                                                 int six,int siy,                // SrcImgPos
00088                                                                                 int siw,int sih,                // SrcImgSize
00089 
00090                                                                                 liqimage *dstimage,
00091                                                                                 int dix,int diy,                // DstImgPos
00092                                                                                 int diw,int dih                 // DstImgSize
00093 
00094                                                                                 );
00095 
00096 void xsurface_drawzoomblendimage(
00097 
00098                                                                                 liqimage *srcimage,
00099                                                                                 int six,int siy,                // SrcImgPos
00100                                                                                 int siw,int sih,                // SrcImgSize
00101 
00102                                                                                 liqimage *dstimage,
00103                                                                                 int dix,int diy,                // DstImgPos
00104                                                                                 int diw,int dih,                // DstImgSize
00105 
00106                                                                                 unsigned char blend
00107                                                                                 );
00108 
00109 
00110 #ifdef __cplusplus
00111 }
00112 #endif
00113 
00114 #endif

Generated on Sat May 23 23:03:13 2009 for libliqbase by  doxygen 1.5.1