text: /*
  * Generated by SGWrapperGen - DO NOT EDIT!
  *
  * SwinGame wrapper for C - Graphics
  *
  * Wrapping sgGraphics.pas
  */
  
  #ifndef sgGraphics
  #define sgGraphics
  
  #include <stdint.h>
  
  #ifndef __cplusplus
    #include <stdbool.h>
  #endif
  
  #include "Types.h"
  
  resolution available_resolution(int32_t idx);
  unsigned char blue_of(color c);
  float brightness_of(color c);
  void clear_screen();
  void clear_screen_to(color toColor);
  color color_alice_blue();
  color color_antique_white();
  color color_aqua();
  color color_aquamarine();
  color color_azure();
  color color_beige();
  color color_bisque();
  color color_black();
  color color_blanched_almond();
  color color_blue();
  color color_blue_violet();
  color color_bright_green();
  color color_brown();
  color color_burly_wood();
  color color_cadet_blue();
  color color_chartreuse();
  color color_chocolate();
  void color_components(color c, unsigned char *r, unsigned char *g, unsigned char *b, unsigned char *a);
  color color_coral();
  color color_cornflower_blue();
  color color_cornsilk();
  color color_crimson();
  color color_cyan();
  color color_dark_blue();
  color color_dark_cyan();
  color color_dark_goldenrod();
  color color_dark_gray();
  color color_dark_green();
  color color_dark_khaki();
  color color_dark_magenta();
  color color_dark_olive_green();
  color color_dark_orange();
  color color_dark_orchid();
  color color_dark_red();
  color color_dark_salmon();
  color color_dark_sea_green();
  color color_dark_slate_blue();
  color color_dark_slate_gray();
  color color_dark_turquoise();
  color color_dark_violet();
  color color_deep_pink();
  color color_deep_sky_blue();
  color color_dim_gray();
  color color_dodger_blue();
  color color_firebrick();
  color color_floral_white();
  color color_forest_green();
  color color_fuchsia();
  color color_gainsboro();
  color color_ghost_white();
  color color_gold();
  color color_goldenrod();
  color color_gray();
  color color_green();
  color color_green_yellow();
  color color_grey();
  color color_honeydew();
  color color_hot_pink();
  color color_indian_red();
  color color_indigo();
  color color_ivory();
  color color_khaki();
  color color_lavender();
  color color_lavender_blush();
  color color_lawn_green();
  color color_lemon_chiffon();
  color color_light_blue();
  color color_light_coral();
  color color_light_cyan();
  color color_light_goldenrod_yellow();
  color color_light_gray();
  color color_light_green();
  color color_light_grey();
  color color_light_pink();
  color color_light_salmon();
  color color_light_sea_green();
  color color_light_sky_blue();
  color color_light_slate_gray();
  color color_light_steel_blue();
  color color_light_yellow();
  color color_lime();
  color color_lime_green();
  color color_linen();
  color color_magenta();
  color color_maroon();
  color color_medium_aquamarine();
  color color_medium_blue();
  color color_medium_orchid();
  color color_medium_purple();
  color color_medium_sea_green();
  color color_medium_slate_blue();
  color color_medium_spring_green();
  color color_medium_turquoise();
  color color_medium_violet_red();
  color color_midnight_blue();
  color color_mint_cream();
  color color_misty_rose();
  color color_moccasin();
  color color_navajo_white();
  color color_navy();
  color color_old_lace();
  color color_olive();
  color color_olive_drab();
  color color_orange();
  color color_orange_red();
  color color_orchid();
  color color_pale_goldenrod();
  color color_pale_green();
  color color_pale_turquoise();
  color color_pale_violet_red();
  color color_papaya_whip();
  color color_peach_puff();
  color color_peru();
  color color_pink();
  color color_plum();
  color color_powder_blue();
  color color_purple();
  color color_red();
  color color_rosy_brown();
  color color_royal_blue();
  color color_saddle_brown();
  color color_salmon();
  color color_sandy_brown();
  color color_sea_green();
  color color_sea_shell();
  color color_sienna();
  color color_silver();
  color color_sky_blue();
  color color_slate_blue();
  color color_slate_gray();
  color color_snow();
  color color_spring_green();
  color color_steel_blue();
  color color_swinburne_red();
  color color_tan();
  color color_teal();
  color color_thistle();
  void color_to_string(color c, char *result);
  color color_tomato();
  color color_transparent();
  color color_turquoise();
  color color_violet();
  color color_wheat();
  color color_white();
  color color_white_smoke();
  color color_yellow();
  color color_yellow_green();
  rectangle current_window_clip();
  rectangle current_clip_for_window(window wnd);
  rectangle current_clip_for_bitmap(bitmap bmp);
  void draw_circle(color clr, float x, float y, float radius);
  void draw_circle_struct(color clr, const circle *c);
  void draw_circle_struct_byval(color clr, const circle c);
  void draw_circle_struct_opts(color clr, const circle *c, const drawing_options *opts);
  void draw_circle_struct_opts_byval(color clr, const circle c, const drawing_options opts);
  void draw_circle_opts(color clr, float x, float y, float radius, const drawing_options *opts);
  void draw_circle_opts_byval(color clr, float x, float y, float radius, const drawing_options opts);
  void draw_ellipse(color clr, float xPos, float yPos, float width, float height);
  void draw_ellipse_struct(color clr, const rectangle *rec);
  void draw_ellipse_struct_byval(color clr, const rectangle rec);
  void draw_ellipse_struct_opts(color clr, const rectangle *rec, const drawing_options *opts);
  void draw_ellipse_struct_opts_byval(color clr, const rectangle rec, const drawing_options opts);
  void draw_ellipse_opts(color clr, float xPos, float yPos, float width, float height, const drawing_options *opts);
  void draw_ellipse_opts_byval(color clr, float xPos, float yPos, float width, float height, const drawing_options opts);
  void draw_line_pt2_pt(color clr, const point2d *fromPt, const point2d *toPt);
  void draw_line_pt2_pt_byval(color clr, const point2d fromPt, const point2d toPt);
  void draw_line(color clr, float x1, float y1, float x2, float y2);
  void draw_line_struct(color clr, const line_segment *l);
  void draw_line_struct_byval(color clr, const line_segment l);
  void draw_line_struct_opts(color clr, const line_segment *l, const drawing_options *opts);
  void draw_line_struct_opts_byval(color clr, const line_segment l, const drawing_options opts);
  void draw_line_pt2_pt_opts(color clr, const point2d *fromPt, const point2d *toPt, const drawing_options *opts);
  void draw_line_pt2_pt_opts_byval(color clr, const point2d fromPt, const point2d toPt, const drawing_options opts);
  void draw_line_opts(color clr, float xPosStart, float yPosStart, float xPosEnd, float yPosEnd, const drawing_options *opts);
  void draw_line_opts_byval(color clr, float xPosStart, float yPosStart, float xPosEnd, float yPosEnd, const drawing_options opts);
  void draw_pixel_at_point(color clr, const point2d *position);
  void draw_pixel_at_point_byval(color clr, const point2d position);
  void draw_pixel_at_point_opts(color clr, const point2d *position, const drawing_options *opts);
  void draw_pixel_at_point_opts_byval(color clr, const point2d position, const drawing_options opts);
  void draw_pixel(color clr, float x, float y);
  void draw_pixel_opts(color clr, float x, float y, const drawing_options *opts);
  void draw_pixel_opts_byval(color clr, float x, float y, const drawing_options opts);
  void draw_quad_struct(color clr, const quad *q);
  void draw_quad_struct_byval(color clr, const quad q);
  void draw_quad_struct_opts(color clr, const quad *q, const drawing_options *opts);
  void draw_quad_struct_opts_byval(color clr, const quad q, const drawing_options opts);
  void draw_rectangle(color clr, float x, float y, float width, float height);
  void draw_rectangle_struct(color clr, const rectangle *rect);
  void draw_rectangle_struct_byval(color clr, const rectangle rect);
  void draw_rectangle_struct_opts(color clr, const rectangle *rect, const drawing_options *opts);
  void draw_rectangle_struct_opts_byval(color clr, const rectangle rect, const drawing_options opts);
  void draw_rectangle_opts(color clr, float xPos, float yPos, float width, float height, const drawing_options *opts);
  void draw_rectangle_opts_byval(color clr, float xPos, float yPos, float width, float height, const drawing_options opts);
  void draw_triangle(color clr, float x1, float y1, float x2, float y2, float x3, float y3);
  void draw_triangle_struct(color clr, const triangle  *tri);
  void draw_triangle_struct_byval(color clr, const triangle  tri);
  void draw_triangle_struct_opts(color clr, const triangle  *tri, const drawing_options *opts);
  void draw_triangle_struct_opts_byval(color clr, const triangle  tri, const drawing_options opts);
  void draw_triangle_opts(color clr, float x1, float y1, float x2, float y2, float x3, float y3, const drawing_options *opts);
  void draw_triangle_opts_byval(color clr, float x1, float y1, float x2, float y2, float x3, float y3, const drawing_options opts);
  void fill_circle(color clr, float x, float y, float radius);
  void fill_circle_struct(color clr, const circle *c);
  void fill_circle_struct_byval(color clr, const circle c);
  void fill_circle_struct_opts(color clr, const circle *c, const drawing_options *opts);
  void fill_circle_struct_opts_byval(color clr, const circle c, const drawing_options opts);
  void fill_circle_at_point(color clr, const point2d *pt, int32_t radius);
  void fill_circle_at_point_byval(color clr, const point2d pt, int32_t radius);
  void fill_circle_at_point_with_opts(color clr, const point2d *pt, int32_t radius, const drawing_options *opts);
  void fill_circle_at_point_with_opts_byval(color clr, const point2d pt, int32_t radius, const drawing_options opts);
  void fill_circle_opts(color clr, float x, float y, float radius, const drawing_options *opts);
  void fill_circle_opts_byval(color clr, float x, float y, float radius, const drawing_options opts);
  void fill_ellipse(color clr, float xPos, float yPos, float width, float height);
  void fill_ellipse_struct(color clr, const rectangle *rec);
  void fill_ellipse_struct_byval(color clr, const rectangle rec);
  void fill_ellipse_struct_opts(color clr, const rectangle *rec, const drawing_options *opts);
  void fill_ellipse_struct_opts_byval(color clr, const rectangle rec, const drawing_options opts);
  void fill_ellipse_opts(color clr, float xPos, float yPos, float width, float height, const drawing_options *opts);
  void fill_ellipse_opts_byval(color clr, float xPos, float yPos, float width, float height, const drawing_options opts);
  void fill_quad_struct(color clr, const quad *q);
  void fill_quad_struct_byval(color clr, const quad q);
  void fill_quad_struct_opts(color clr, const quad *q, const drawing_options *opts);
  void fill_quad_struct_opts_byval(color clr, const quad q, const drawing_options opts);
  void fill_rectangle(color clr, float x, float y, float width, float height);
  void fill_rectangle_struct(color clr, const rectangle *rect);
  void fill_rectangle_struct_byval(color clr, const rectangle rect);
  void fill_rectangle_struct_opts(color clr, const rectangle *rect, const drawing_options *opts);
  void fill_rectangle_struct_opts_byval(color clr, const rectangle rect, const drawing_options opts);
  void fill_rectangle_opts(color clr, float xPos, float yPos, float width, float height, const drawing_options *opts);
  void fill_rectangle_opts_byval(color clr, float xPos, float yPos, float width, float height, const drawing_options opts);
  void fill_triangle(color clr, float x1, float y1, float x2, float y2, float x3, float y3);
  void fill_triangle_struct(color clr, const triangle  *tri);
  void fill_triangle_struct_byval(color clr, const triangle  tri);
  void fill_triangle_struct_opts(color clr, const triangle  *tri, const drawing_options *opts);
  void fill_triangle_struct_opts_byval(color clr, const triangle  tri, const drawing_options opts);
  void fill_triangle_opts(color clr, float x1, float y1, float x2, float y2, float x3, float y3, const drawing_options *opts);
  void fill_triangle_opts_byval(color clr, float x1, float y1, float x2, float y2, float x3, float y3, const drawing_options opts);
  color get_pixel_from_bitmap(bitmap bmp, float x, float y);
  color get_pixel_from_window(window wnd, float x, float y);
  color get_pixel_from_screen(float x, float y);
  unsigned char green_of(color c);
  color hsbcolor(float hue, float saturation, float brightness);
  void hsbvalues_of(color c, float *h, float *s, float *b);
  float hue_of(color c);
  int32_t number_of_resolutions();
  void open_graphics_window(const char *caption, int32_t width, int32_t height);
  void pop_clip_screen();
  void pop_clip_for_bitmap(bitmap bmp);
  void pop_clip_for_window(window wnd);
  void push_clip_rect(const rectangle *r);
  void push_clip_rect_byval(const rectangle r);
  void push_clip_rect_for_bitmap(bitmap bmp, const rectangle *r);
  void push_clip_rect_for_bitmap_byval(bitmap bmp, const rectangle r);
  void push_clip_rect_for_window(window wnd, const rectangle *r);
  void push_clip_rect_for_window_byval(window wnd, const rectangle r);
  color rgbacolor(unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha);
  color rgbafloat_color(float r, float g, float b, float a);
  color rgbcolor(unsigned char red, unsigned char green, unsigned char blue);
  color rgbfloat_color(float r, float g, float b);
  color random_color();
  color random_rgbcolor(unsigned char alpha);
  unsigned char red_of(color c);
  void refresh_screen();
  void refresh_screen_restrict_fps(int32_t TargetFPS);
  void refresh_scren_window_fps(window wnd, int32_t targetFPS);
  void reset_clip();
  void reset_clip_for_window(window wnd);
  void reset_clip_for_bitmap(bitmap bmp);
  float saturation_of(color c);
  void set_clip(const rectangle *r);
  void set_clip_byval(const rectangle r);
  void set_clip_for_bitmap(bitmap bmp, const rectangle *r);
  void set_clip_for_bitmap_byval(bitmap bmp, const rectangle r);
  void set_clip_for_window(window wnd, const rectangle *r);
  void set_clip_for_window_byval(window wnd, const rectangle r);
  void set_icon(const char *filename);
  void show_swin_game_splash_screen();
  void take_screenshot(const char *basename);
  unsigned char transparency_of(color c);
  
  #ifdef __cplusplus
  // C++ overloaded functions
  void clear_screen(color toColor);
  void color_components(color c, unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a);
  rectangle current_clip();
  rectangle current_clip(window wnd);
  rectangle current_clip(bitmap bmp);
  void draw_circle(color clr, const circle &c);
  void draw_circle(color clr, const circle &c, const drawing_options &opts);
  void draw_circle(color clr, float x, float y, float radius, const drawing_options &opts);
  void draw_ellipse(color clr, const rectangle &rec);
  void draw_ellipse(color clr, const rectangle &rec, const drawing_options &opts);
  void draw_ellipse(color clr, float xPos, float yPos, float width, float height, const drawing_options &opts);
  void draw_line(color clr, const point2d &fromPt, const point2d &toPt);
  void draw_line(color clr, const line_segment &l);
  void draw_line(color clr, const line_segment &l, const drawing_options &opts);
  void draw_line(color clr, const point2d &fromPt, const point2d &toPt, const drawing_options &opts);
  void draw_line(color clr, float xPosStart, float yPosStart, float xPosEnd, float yPosEnd, const drawing_options &opts);
  void draw_pixel(color clr, const point2d &position);
  void draw_pixel(color clr, const point2d &position, const drawing_options &opts);
  void draw_pixel(color clr, float x, float y, const drawing_options &opts);
  void draw_quad(color clr, const quad &q);
  void draw_quad(color clr, const quad &q, const drawing_options &opts);
  void draw_rectangle(color clr, const rectangle &rect);
  void draw_rectangle(color clr, const rectangle &rect, const drawing_options &opts);
  void draw_rectangle(color clr, float xPos, float yPos, float width, float height, const drawing_options &opts);
  void draw_triangle(color clr, const triangle  &tri);
  void draw_triangle(color clr, const triangle  &tri, const drawing_options &opts);
  void draw_triangle(color clr, float x1, float y1, float x2, float y2, float x3, float y3, const drawing_options &opts);
  void fill_circle(color clr, const circle &c);
  void fill_circle(color clr, const circle &c, const drawing_options &opts);
  void fill_circle(color clr, const point2d &pt, int32_t radius);
  void fill_circle(color clr, const point2d &pt, int32_t radius, const drawing_options &opts);
  void fill_circle(color clr, float x, float y, float radius, const drawing_options &opts);
  void fill_ellipse(color clr, const rectangle &rec);
  void fill_ellipse(color clr, const rectangle &rec, const drawing_options &opts);
  void fill_ellipse(color clr, float xPos, float yPos, float width, float height, const drawing_options &opts);
  void fill_quad(color clr, const quad &q);
  void fill_quad(color clr, const quad &q, const drawing_options &opts);
  void fill_rectangle(color clr, const rectangle &rect);
  void fill_rectangle(color clr, const rectangle &rect, const drawing_options &opts);
  void fill_rectangle(color clr, float xPos, float yPos, float width, float height, const drawing_options &opts);
  void fill_triangle(color clr, const triangle  &tri);
  void fill_triangle(color clr, const triangle  &tri, const drawing_options &opts);
  void fill_triangle(color clr, float x1, float y1, float x2, float y2, float x3, float y3, const drawing_options &opts);
  color get_pixel(bitmap bmp, float x, float y);
  color get_pixel(window wnd, float x, float y);
  void hsbvalues_of(color c, float &h, float &s, float &b);
  void pop_clip();
  void pop_clip(bitmap bmp);
  void pop_clip(window wnd);
  void push_clip(const rectangle &r);
  void push_clip(bitmap bmp, const rectangle &r);
  void push_clip(window wnd, const rectangle &r);
  void refresh_screen(int32_t TargetFPS);
  void refresh_screen(window wnd, int32_t targetFPS);
  void reset_clip(window wnd);
  void reset_clip(bitmap bmp);
  void set_clip(const rectangle &r);
  void set_clip(bitmap bmp, const rectangle &r);
  void set_clip(window wnd, const rectangle &r);
  
  #endif
  
  #endif
  
  