fltkhs-0.5.3.0: c-src/Fl_DrawC.h
#ifndef __FL_DRAW_C__
#define __FL_DRAW_C__
#ifdef __cplusplus
// always include the FL/*.H headers before local headers
// Fl_Widget is included transitively and needed for
// the callback mechanism included below to work.
#include "FL/Fl.H"
#include "FL/fl_draw.H"
#include "Fl_CallbackC.h"
EXPORT {
#endif
typedef void (*Fl_Draw_Image_Cb)(void* data,int x,int y,int w,uchar* buf);
FL_EXPORT_C_HEADER(void ,flc_set_color,(Fl_Color c));
FL_EXPORT_C_HEADER(void ,flc_set_color_with_c,(int c));
FL_EXPORT_C(void , flc_set_color_with_rgb)(uchar r, uchar g, uchar b); // select actual color
FL_EXPORT_C_HEADER(Fl_Color ,flc_color,());
FL_EXPORT_C_HEADER(void ,flc_push_clip,(int x, int y, int w, int h));
#define fl_clipc fl_push_clipc
FL_EXPORT_C_HEADER(void ,flc_push_no_clip,());
FL_EXPORT_C_HEADER(void ,flc_pop_clip,());
FL_EXPORT_C_HEADER(int ,flc_not_clipped,(int x, int y, int w, int h));
FL_EXPORT_C_HEADER(int ,flc_clip_box,(int x , int y, int w, int h, int* X, int* Y, int* W, int* H));
FL_EXPORT_C_HEADER(void ,flc_restore_clip,());
FL_EXPORT_C_HEADER(void ,flc_set_clip_region,(fl_Region r));
FL_EXPORT_C_HEADER(fl_Region ,flc_clip_region,());
FL_EXPORT_C_HEADER(void ,flc_point,(int x, int y));
FL_EXPORT_C_HEADER(void ,flc_line_style_with_width_dashes,(int style, int width, char* dashes));
FL_EXPORT_C_HEADER(void ,flc_line_style_with_dashes,(int style, char* dashes));
FL_EXPORT_C_HEADER(void ,flc_line_style_with_width,(int style, int width));
FL_EXPORT_C_HEADER(void ,flc_line_style,(int style));
#ifndef INTERNAL_LINKAGE
enum {
FL_SOLID = 0,
FL_DASH = 1,
FL_DOT = 2,
FL_DASHDOT = 3,
FL_DASHDOTDOT = 4,
FL_CAP_FLAT = 0x100,
FL_CAP_ROUND = 0x200,
FL_CAP_SQUARE = 0x300,
FL_JOIN_MITER = 0x1000,
FL_JOIN_ROUND = 0x2000,
FL_JOIN_BEVEL = 0x3000
};
#endif
FL_EXPORT_C_HEADER(void ,flc_rect,(int x, int y, int w, int h));
FL_EXPORT_C_HEADER(void ,flc_rect_with_color,(int x, int y, int w, int h, Fl_Color c));
FL_EXPORT_C_HEADER(void ,flc_rectf,(int x, int y, int w, int h));
FL_EXPORT_C_HEADER(void ,flc_rectf_with_color,(int x, int y, int w, int h, Fl_Color c));
FL_EXPORT_C_HEADER(void ,flc_rectf_with_rgb,(int x, int y, int w, int h, uchar r, uchar g, uchar b));
FL_EXPORT_C_HEADER(void ,flc_line,(int x, int y, int x1, int y1));
FL_EXPORT_C_HEADER(void ,flc_line_with_x2_y2,(int x, int y, int x1, int y1, int x2, int y2));
FL_EXPORT_C_HEADER(void ,flc_loop,(int x, int y, int x1, int y1, int x2, int y2));
FL_EXPORT_C_HEADER(void ,flc_loop_with_x3_y3,(int x, int y, int x1, int y1, int x2, int y2, int x3, int y3));
FL_EXPORT_C_HEADER(void ,flc_polygon,(int x, int y, int x1, int y1, int x2, int y2));
FL_EXPORT_C_HEADER(void ,flc_polygon_with_x3_y3,(int x, int y, int x1, int y1, int x2, int y2, int x3, int y3));
FL_EXPORT_C_HEADER(void ,flc_xyline,(int x, int y, int x1));
FL_EXPORT_C_HEADER(void ,flc_xyline_with_x2,(int x, int y, int x1, int y2));
FL_EXPORT_C_HEADER(void ,flc_xyline_with_y2_x3,(int x, int y, int x1, int y2, int x3));
FL_EXPORT_C_HEADER(void ,flc_yxline_with_y1,(int x, int y, int y1));
FL_EXPORT_C_HEADER(void ,flc_yxline_with_y2_x2,(int x, int y, int y1, int x2));
FL_EXPORT_C_HEADER(void ,flc_yxline_with_y2_x3,(int x, int y, int y1, int x2, int y3));
FL_EXPORT_C_HEADER(void ,flc_arc_by_width_height,(int x, int y, int w, int h, double a1, double a2));
FL_EXPORT_C_HEADER(void ,flc_pie,(int x, int y, int w, int h, double a1, double a2));
FL_EXPORT_C_HEADER(void ,flc_push_matrix,());
FL_EXPORT_C_HEADER(void ,flc_pop_matrix,());
FL_EXPORT_C_HEADER(void ,flc_scale_with_y,(double x, double y));
FL_EXPORT_C_HEADER(void ,flc_scale,(double x));
FL_EXPORT_C_HEADER(void ,flc_translate,(double x, double y));
FL_EXPORT_C_HEADER(void ,flc_rotate,(double d));
FL_EXPORT_C_HEADER(void ,flc_mult_matrix,(double a, double b, double c, double d, double x,double y));
FL_EXPORT_C_HEADER(void ,flc_begin_points,());
FL_EXPORT_C_HEADER(void ,flc_begin_line,());
FL_EXPORT_C_HEADER(void ,flc_begin_loop,());
FL_EXPORT_C_HEADER(void ,flc_begin_polygon,());
FL_EXPORT_C_HEADER(void ,flc_vertex,(double x, double y));
FL_EXPORT_C_HEADER(void ,flc_curve,(double X0, double Y0, double X1, double Y1, double X2, double Y2, double X3, double Y3));
FL_EXPORT_C_HEADER(void ,flc_arc_by_radius,(double x, double y, double r, double start, double end));
FL_EXPORT_C_HEADER(void ,flc_circle,(double x, double y, double r));
FL_EXPORT_C_HEADER(void ,flc_end_points,());
FL_EXPORT_C_HEADER(void ,flc_end_line,());
FL_EXPORT_C_HEADER(void ,flc_end_loop,());
FL_EXPORT_C_HEADER(void ,flc_end_polygon,());
FL_EXPORT_C_HEADER(void ,flc_begin_complex_polygon,());
FL_EXPORT_C_HEADER(void ,flc_gap,());
FL_EXPORT_C_HEADER(void ,flc_end_complex_polygon,());
FL_EXPORT_C_HEADER(double ,flc_transform_x,(double x, double y));
FL_EXPORT_C_HEADER(double ,flc_transform_y,(double x, double y));
FL_EXPORT_C_HEADER(double ,flc_transform_dx,(double x, double y));
FL_EXPORT_C_HEADER(double ,flc_transform_dy,(double x, double y));
FL_EXPORT_C_HEADER(void ,flc_transformed_vertex,(double xf, double yf));
FL_EXPORT_C_HEADER(void ,flc_set_font,(Fl_Font face, Fl_Fontsize fsize));
FL_EXPORT_C_HEADER(Fl_Font ,flc_font,());
FL_EXPORT_C_HEADER(Fl_Fontsize ,flc_size,());
FL_EXPORT_C_HEADER(int ,flc_height,());
FL_EXPORT_C_HEADER(int ,flc_set_height,(int font, int size));
FL_EXPORT_C_HEADER(int ,flc_descent,());
FL_EXPORT_C_HEADER(double ,flc_width,(const char* txt));
FL_EXPORT_C_HEADER(double ,flc_width_with_n,(const char* txt, int n));
FL_EXPORT_C_HEADER(double ,flc_width_with_c,(unsigned int c));
FL_EXPORT_C(void , flc_text_extents)(const char* s, int* dx, int* dy, int* w, int* h); // NO fltk symbol expansion will be performed
FL_EXPORT_C_HEADER(void ,flc_text_extents_with_n,(const char* t, int n, int* dx, int* dy, int* w, int* h));
FL_EXPORT_C_HEADER(const char* ,flc_latin1_to_local,(const char* t));
FL_EXPORT_C_HEADER(const char* ,flc_latin1_to_local_with_n,(const char* t, int n));
FL_EXPORT_C_HEADER(const char* ,flc_local_to_latin1,(const char* t));
FL_EXPORT_C_HEADER(const char* ,flc_local_to_latin1_with_n,(const char* t, int n));
FL_EXPORT_C_HEADER(const char* ,flc_mac_roman_to_local,(const char* t));
FL_EXPORT_C_HEADER(const char* ,flc_mac_roman_to_local_with_n,(const char* t, int n));
FL_EXPORT_C_HEADER(const char* ,flc_local_to_mac_roman,(const char* t));
FL_EXPORT_C_HEADER(const char* ,flc_local_to_mac_roman_with_n,(const char* t, int n));
FL_EXPORT_C_HEADER(void ,flc_draw,(const char* str, int x, int y));
FL_EXPORT_C_HEADER(void ,flc_draw_with_angle,(int angle, const char* str, int x, int y));
FL_EXPORT_C_HEADER(void ,flc_draw_with_n,(const char* str, int n, int x, int y));
FL_EXPORT_C_HEADER(void ,flc_draw_with_n_angle,(int angle, const char* str, int n, int x, int y));
FL_EXPORT_C_HEADER(void ,flc_rtl_draw,(const char* str, int n, int x, int y));
FL_EXPORT_C_HEADER(void ,flc_measure,(const char* str, int* x, int* y));
FL_EXPORT_C_HEADER(void ,flc_measure_with_draw_symbols,(const char* str, int* x, int* y,int draw_symbols));
FL_EXPORT_C_HEADER(void ,flc_draw_with_img_draw_symbols,(const char* str, int x, int y, int w, int h, Fl_Align align, fl_Image img,int draw_symbols));
FL_EXPORT_C_HEADER(void ,flc_draw_with_img,(const char* str, int x, int y, int w, int h, Fl_Align align, fl_Image img));
FL_EXPORT_C_HEADER(void ,flc_draw_with_draw_symbols,(const char* str, int x, int y, int w, int h, Fl_Align align,int draw_symbols));
FL_EXPORT_C_HEADER(void ,flc_draw_with_align,(const char* str, int x, int y, int w, int h, Fl_Align align));
FL_EXPORT_C_HEADER(void ,flc_draw_with_callthis_img_draw_symbols,(const char* str, int x, int y, int w, int h, Fl_Align align,void (*callthis)(const char* ,int,int,int), fl_Image img,int draw_symbols));
FL_EXPORT_C_HEADER(void ,flc_draw_with_callthis_img,(const char* str, int x, int y, int w, int h, Fl_Align align,void (*callthis)(const char* ,int,int,int), fl_Image img));
FL_EXPORT_C_HEADER(void ,flc_draw_with_callthis_draw_symbols,(const char* str, int x, int y, int w, int h, Fl_Align align,void (*callthis)(const char* ,int,int,int),int draw_symbols));
FL_EXPORT_C_HEADER(void ,flc_draw_with_callthis,(const char* str, int x, int y, int w, int h, Fl_Align align, void (*callthis)(const char* ,int,int,int)));
FL_EXPORT_C_HEADER(void ,flc_frame,(const char* s, int x, int y, int w, int h));
FL_EXPORT_C_HEADER(void ,flc_frame2,(const char* s, int x, int y, int w, int h));
FL_EXPORT_C_HEADER(void ,flc_draw_box,(Fl_Boxtype boxtype, int x, int y, int w, int h, Fl_Color color));
FL_EXPORT_C_HEADER(void ,flc_draw_image_buf_with_d_l,(const uchar* buf, int X,int Y,int W,int H, int D, int L));
FL_EXPORT_C_HEADER(void ,flc_draw_image_buf_with_d,(const uchar* buf, int X,int Y,int W,int H, int D));
FL_EXPORT_C_HEADER(void ,flc_draw_image_buf_with_l,(const uchar* buf, int X,int Y,int W,int H,int L));
FL_EXPORT_C_HEADER(void ,flc_draw_image_buf,(const uchar* buf, int X,int Y,int W,int H));
FL_EXPORT_C_HEADER(void ,flc_draw_image_mono_buf_with_d_l,(const uchar* buf, int X,int Y,int W,int H, int D, int L));
FL_EXPORT_C_HEADER(void ,flc_draw_box,(Fl_Boxtype boxtype, int x, int y, int w, int h, Fl_Color color));
FL_EXPORT_C_HEADER(void ,flc_draw_image_mono_buf_with_d,(const uchar* buf, int X,int Y,int W,int H, int D));
FL_EXPORT_C_HEADER(void ,flc_draw_image_mono_buf_with_l,(const uchar* buf, int X,int Y,int W,int H, int L));
FL_EXPORT_C_HEADER(void ,flc_draw_image_mono_buf,(const uchar* buf, int X,int Y,int W,int H));
FL_EXPORT_C_HEADER(void ,flc_draw_image_cb,(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H));
FL_EXPORT_C_HEADER(void ,flc_draw_image_cb_with_d,(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D));
FL_EXPORT_C_HEADER(void ,flc_draw_image_mono_cb_with_d,(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D));
FL_EXPORT_C_HEADER(void ,flc_draw_image_mono_cb,(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H));
FL_EXPORT_C_HEADER(char ,flc_can_do_alpha_blending,());
FL_EXPORT_C_HEADER(uchar* ,flc_read_image_with_alpha,(uchar* p,int X,int Y,int W,int H,int alpha));
FL_EXPORT_C_HEADER(uchar* ,flc_read_image,(uchar* p,int X,int Y,int W,int H));
FL_EXPORT_C_HEADER(int ,flc_draw_pixmap_with_color,(char* const* data, int x,int y,Fl_Color color));
FL_EXPORT_C_HEADER(int ,flc_draw_pixmap,(char* const* data, int x,int y));
FL_EXPORT_C_HEADER(int ,flc_draw_pixmap_with_cdata_color,(char* const* cdata, int x,int y,Fl_Color color));
FL_EXPORT_C_HEADER(int ,flc_draw_pixmap_with_cdata,(char* const* cdata, int x,int y));
FL_EXPORT_C_HEADER(int ,flc_measure_pixmap,(char* const* data, int* w, int* h));
FL_EXPORT_C_HEADER(int ,flc_measure_pixmap_with_cdata,(const char* const* cdata, int* w, int* h));
FL_EXPORT_C_HEADER(void ,flc_scroll,(int X, int Y, int W, int H, int dx, int dy, void (*draw_area)(void*, int,int,int,int), void* data));
FL_EXPORT_C_HEADER(const char* ,flc_shortcut_label,(unsigned int shortcut));
FL_EXPORT_C_HEADER(const char* ,flc_shortcut_label_with_eom,(unsigned int shortcut, const char* *eom));
FL_EXPORT_C_HEADER(unsigned int ,flc_old_shortcut,(const char* s));
FL_EXPORT_C_HEADER(void ,flc_overlay_rect,(int x,int y,int w,int h));
FL_EXPORT_C_HEADER(void ,flc_overlay_clear,());
FL_EXPORT_C_HEADER(void ,flc_cursor_with_fg_bg,(Fl_Cursor cursore, Fl_Color fg, Fl_Color bg));
FL_EXPORT_C_HEADER(void ,flc_cursor_with_fg,(Fl_Cursor cursor, Fl_Color fg));
FL_EXPORT_C_HEADER(void ,flc_cursor_with_bg,(Fl_Cursor cursor, Fl_Color bg));
FL_EXPORT_C_HEADER(void ,flc_cursor,(Fl_Cursor cursor));
FL_EXPORT_C_HEADER(const char* ,flc_expand_text_with_draw_symbols,(const char* from, char* buf, int maxbuf, double maxw, int* n, double* width, int wrap, int draw_symbols));
FL_EXPORT_C_HEADER(const char* ,flc_expand_text,(const char* from, char* buf, int maxbuf, double maxw, int* n, double *width, int wrap));
FL_EXPORT_C_HEADER(void ,flc_set_status,(int X, int Y, int W, int H));
FL_EXPORT_C_HEADER(void ,flc_set_spot_with_win,(int font, int size, int X, int Y, int W, int H, fl_Window win));
FL_EXPORT_C_HEADER(void ,flc_set_spot,(int font, int size, int X, int Y, int W, int H));
FL_EXPORT_C_HEADER(void ,flc_reset_spot,());
FL_EXPORT_C_HEADER(int ,flc_draw_symbol,(const char* label,int x,int y,int w,int h, Fl_Color color));
FL_EXPORT_C_HEADER(int ,flc_add_symbol,(const char* name, void (*drawit)(Fl_Color), int scalable));
#ifdef __cplusplus
}
#endif
#endif /* __FL_DRAW_C__ */