Main Page | Modules | File List | Related Pages

g2.h

00001 /*****************************************************************************
00002 **  Copyright (C) 1998-2001  Ljubomir Milanovic & Horst Wagner
00003 **  This file is part of the g2 library
00004 **
00005 **  This library is free software; you can redistribute it and/or
00006 **  modify it under the terms of the GNU Lesser General Public
00007 **  License as published by the Free Software Foundation; either
00008 **  version 2.1 of the License, or (at your option) any later version.
00009 **
00010 **  This library is distributed in the hope that it will be useful,
00011 **  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 **  Lesser General Public License for more details.
00014 **
00015 **  You should have received a copy of the GNU Lesser General Public
00016 **  License along with this library; if not, write to the Free Software
00017 **  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 ******************************************************************************/
00019 #ifndef _G2_H
00020 #define _G2_H
00021 
00022 
00023 #define G2_VERSION "0.51"
00024 
00025 
00026 #if defined(__cplusplus)
00027 extern "C"
00028 {
00029 #endif
00030 
00031 /* Common Library header for DLL and application */
00032 #ifdef WIN32
00033 #ifdef G2DLL
00034 #ifdef MAKEDLL
00035 /* Create DLL */
00036 #pragma message( "Building DLL library")
00037 #define G2L __declspec( dllexport)
00038 #else
00039 /* Use DLL */
00040 #define G2L __declspec( dllimport)
00041 #endif
00042 #else 
00043 /* Use static win32 */
00044 #define G2L
00045 #endif
00046 #else
00047 /* Use non-win32 */
00048 #define G2L
00049 #endif
00050 
00051 
00052 #define G2LD g2_ld()
00053 
00054 #if defined(SWIG)
00055 #if defined(DO_X11)
00056 %include "X11/g2_X11.h"
00057 #endif
00058 #if defined(DO_PS)
00059 %include "PS/g2_PS.h"
00060 #endif
00061 #if defined(DO_GD)
00062 %include "GD/g2_gd.h"
00063 #endif
00064 #if defined(DO_WIN32)
00065 %include "WIN32/g2_win32.h"
00066 #endif
00067 
00068 %module g2
00069 
00070 %include typemaps.i
00071 
00072 %{
00073 #include "g2.h"
00074 #if defined(DO_X11)
00075 #include "g2_X11.h"
00076 #endif
00077 #if defined(DO_PS)
00078 #include "g2_PS.h"
00079 #endif
00080 #if defined(DO_GD)
00081 #include "g2_gd.h"
00082 #endif
00083 #if defined(DO_WIN32)
00084 #include "WIN32/g2_win32.h"
00085 #endif
00086 %}
00087 
00088 #endif
00089 /* end SWIG */
00090 
00091 
00092 enum QPshape {
00093     QPrect, 
00094     QPcirc  
00095 };
00096 
00097 /* compatibility with old versions */
00098 #define g2_draw_string(dev, x, y, text) g2_string((dev), (x), (y), (text))
00099 
00100 
00101 
00102 G2L int  g2_open_vd(void);
00103 G2L void g2_attach(int vd_dev, int dev);
00104 G2L void g2_detach(int vd_dev, int dev);
00105 
00106 G2L void g2_close(int dev);
00107 G2L void g2_set_auto_flush(int dev, int on_off);
00108 G2L void g2_flush(int dev);
00109 G2L void g2_save(int dev);
00110 G2L void g2_set_coordinate_system(int dev, double x_origin, double y_origin,
00111                               double x_mul,    double y_mul);
00112 
00113 G2L int  g2_ld();
00114 G2L void g2_set_ld(int dev);
00115 
00116 G2L int  g2_ink(int pd_dev, double red, double green, double blue);
00117 G2L void g2_pen(int dev, int color);
00118 G2L void g2_set_dash(int dev, int N, double *dashes);
00119 G2L void g2_set_font_size(int dev, double size);
00120 G2L void g2_set_line_width(int dev, double w);
00121 G2L void g2_clear_palette(int dev);
00122 G2L void g2_reset_palette(int dev);
00123 G2L void g2_allocate_basic_colors(int dev);
00124 
00125 G2L void g2_clear(int dev);
00126 G2L void g2_set_background(int dev, int color);
00127 
00128 G2L void g2_move(int dev, double x, double y);
00129 G2L void g2_move_r(int dev, double dx, double dy);
00130 
00131 G2L void g2_plot(int dev, double x, double y);
00132 G2L void g2_plot_r(int dev, double dx, double dy);
00133 G2L void g2_line(int dev, double x1, double y1, double x2, double y2);
00134 G2L void g2_line_r(int dev, double dx, double dy);
00135 G2L void g2_line_to(int dev, double x, double y);
00136 G2L void g2_poly_line(int dev, int N_pt, double *points);
00137 G2L void g2_triangle(int dev, double x1, double y1,
00138                  double x2, double y2,
00139                  double x3, double y3);
00140 G2L void g2_filled_triangle(int dev, double x1, double y1,
00141                         double x2, double y2,
00142                         double x3, double y3);
00143 G2L void g2_rectangle(int dev, double x1, double y1, double x2, double y2);
00144 G2L void g2_filled_rectangle(int dev,
00145                              double x1, double y1, double x2, double y2);
00146 G2L void g2_polygon(int dev, int N_pt, double *points);
00147 G2L void g2_filled_polygon(int dev, int N_pt, double *points);
00148 G2L void g2_circle(int dev, double x, double y, double r);
00149 G2L void g2_filled_circle(int dev, double x, double y, double r);
00150 G2L void g2_ellipse(int dev, double x, double y, double r1, double r2);
00151 G2L void g2_filled_ellipse(int dev, double x, double y, double r1, double r2);
00152 G2L void g2_arc(int dev,
00153             double x, double y,
00154             double r1, double r2,
00155             double a1, double a2);
00156 G2L void g2_filled_arc(int dev, double x, double y,
00157                    double r1, double r2,
00158                    double a1, double a2);
00159 G2L void g2_string(int dev, double x, double y, const char *text);
00160 G2L void g2_image(int dev,
00161                   double x, double y, int x_size, int y_size, int *pens);
00162 
00163 G2L void g2_set_QP(int dev, double d, enum QPshape shape);
00164 G2L void g2_plot_QP(int dev, double x, double y);
00165 #if !defined(SWIG) 
00166 G2L void g2_query_pointer(int dev, double *x, double *y, unsigned int *button);
00167 #else
00168 extern void g2_query_pointer(int dev, double *OUTPUT,double *OUTPUT,unsigned int *OUTPUT);
00169 #endif
00170     
00171  /* Tijs Michels */
00172  /* 06/16/99     */
00173 
00174 G2L void g2_spline(int id, int n, double *points, int o);
00175 G2L void g2_b_spline(int id, int n, double *points, int o);
00176 G2L void g2_raspln(int id, int n, double *points, double tn);
00177 G2L void g2_para_3(int id, int n, double *points);
00178 G2L void g2_para_5(int id, int n, double *points);
00179 G2L void g2_filled_spline(int id, int n, double *points, int o);
00180 G2L void g2_filled_b_spline(int id, int n, double *points, int o);
00181 G2L void g2_filled_raspln(int id, int n, double *points, double tn);
00182 G2L void g2_filled_para_3(int id, int n, double *points);
00183 G2L void g2_filled_para_5(int id, int n, double *points);
00184 
00185 
00187 G2L int g2_device_exist(int dix);
00188 
00189     
00190 #if defined(__cplusplus)
00191 } /* end extern "C" */
00192 #endif
00193 
00194 #endif /* _G2_H */

Generated on Tue Mar 30 00:16:03 2004 for g2 by doxygen 1.3.6