00001 /*========================================================================= 00002 00003 GFX - a small graphics library 00004 00005 Copyright (C) 2004 Rafael de Oliveira Jannone 00006 00007 This library is free software; you can redistribute it and/or 00008 modify it under the terms of the GNU Lesser General Public 00009 License as published by the Free Software Foundation; either 00010 version 2.1 of the License, or (at your option) any later version. 00011 00012 This library is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 Lesser General Public License for more details. 00016 00017 You should have received a copy of the GNU Lesser General Public 00018 License along with this library; if not, write to the Free Software 00019 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00020 00021 Contact the author: 00022 by e-mail : rafael AT jannone DOT org 00023 homepage : http://jannone.org/gfxlib 00024 ICQ UIN : 10115284 00025 00026 See the License at http://www.gnu.org/copyleft/lesser.txt 00027 00028 =========================================================================*/ 00029 00033 // LINE.H : line drawing functions (header) 00034 00035 /* === WARNING == 00036 00037 This is a work-in-progress, meaning that most of this code is unstable 00038 and it's subject to future changes. Also, most of it is very hackish, 00039 not properly cleaned up nor tested. 00040 00041 === WARNING == */ 00042 00043 #ifndef LINE_H 00044 #define LINE_H 00045 00046 #include "gfx.h" 00047 00049 #define DITHER(I, Y) (dithpat[I][Y & 1]) 00050 00051 extern u_char dithpat[5][2]; 00052 00054 extern void surface_line(surface_t*, int x1, int y1, int x2, int y2); 00055 00057 extern void line(int x1, int y1, int x2, int y2); 00058 00060 extern void line_slow(int x1, int y1, int x2, int y2); 00061 00063 extern void calculate_side(int x1, int y1, int x2, int y2, int low[], int high[]); 00064 00066 extern void hline(int x1, int y1, int x2, u_char value); 00067 00069 extern void surface_hline(surface_t *s, int x1, int y1, int x2, u_char value); 00070 00071 #endif
1.4.1