/* This file is part of Floculate. Copyright (C) 2008 Bill Whitacre Floculate is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Floculate is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef DRAW_H #define DRAW_H #include #include #include "../inc/rat_physics.h" #if defined(__APPLE__) # include #else # include #endif #ifndef MATH_PI # ifndef M_PI # define MATH_PI 3.14159f # else # define MATH_PI M_PI # endif #endif #ifdef __cplusplus extern "C" { #endif extern int rat_pretty_draw; void rat_line_width(rat_real width); void rat_point_size(rat_real size); void rat_set_color(rat_real r,rat_real g,rat_real b,rat_real a); void rat_get_color(rat_real *r,rat_real *g,rat_real *b,rat_real *a); void rat_draw_point(rat_real x,rat_real y); void rat_draw_points(rat_real *points,unsigned int numpts); void rat_draw_line(rat_real x1,rat_real y1,rat_real x2,rat_real y2); void rat_draw_lines(rat_real *points,unsigned int numpts); void rat_draw_line_strip(rat_real *points,unsigned int numpts); void rat_draw_line_loop(rat_real *points,unsigned int numpts); void rat_draw_quads(rat_real *points,unsigned int numpts); void rat_draw_triangles(rat_real *points,unsigned int numpts); void rat_draw_triangle_fan(rat_real *points,unsigned int numpts); void rat_draw_triangle_strip(rat_real *points,unsigned int numpts); void rat_draw_rect(rat_real x1,rat_real y1,rat_real x2,rat_real y2,int fill); void rat_draw_circle(rat_real x,rat_real y,rat_real radius,rat_real stepdivisor,int fill); void rat_draw_elipse(rat_real x,rat_real y,rat_real rx,rat_real ry,rat_real stepdivisor,int fill); void rat_draw_world(rat_world *world,int draw_bodymgr,int draw_arbiters,int draw_bboxes); void rat_draw_body(rat_body *body,int pass); void rat_draw_constraint(rat_constraint *constraint); void rat_draw_spring(rat_spring *spring); void rat_draw_arbiter(rat_arbiter *arbiter); void rat_draw_quad_tree_matrix(rat_quad_tree_matrix *matrix); void rat_draw_quad_tree(rat_quad_tree *tree); #ifdef __cplusplus } #endif #endif