#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__ */