diff options
82 files changed, 2884 insertions, 218 deletions
diff --git a/doc/fl_bitmap.html b/doc/fl_bitmap.html new file mode 100644 index 0000000..4d22550 --- /dev/null +++ b/doc/fl_bitmap.html @@ -0,0 +1,135 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Bitmap Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Bitmap Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Bitmap</td> + <td>FLTK.Images.Bitmaps</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Bitmap</td> + <td>Bitmap</td> + </tr> + + <tr> + <td> </td> + <td>Bitmap_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Bitmap(const uchar *bits, int W, int H); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +Fl_Bitmap(const char *bits, int W, int H); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +virtual Fl_Image * copy(int W, int H); +</pre></td> +<td><pre> +function Copy + (This : in Bitmap; + Width, Height : in Natural) + return Bitmap'Class; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Image * copy(); +</pre></td> +<td><pre> +function Copy + (This : in Bitmap) + return Bitmap'Class; +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void draw(int X, int Y, int W, int H, int cx=0, int cy=0); +</pre></td> +<td><pre> +procedure Draw + (This : in Bitmap; + X, Y, W, H : in Integer; + CX, CY : in Integer := 0); +</pre></td> + </tr> + + <tr> +<td><pre> +void draw(int X, int Y); +</pre></td> +<td><pre> +procedure Draw + (This : in Bitmap; + X, Y : in Integer); +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void label(Fl_Widget *w); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +virtual void label(Fl_Menu_Item *m); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +virtual void uncache(); +</pre></td> +<td> </td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_bmp_image.html b/doc/fl_bmp_image.html new file mode 100644 index 0000000..dd0ce62 --- /dev/null +++ b/doc/fl_bmp_image.html @@ -0,0 +1,65 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_BMP_Image Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_BMP_Image Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_BMP_Image</td> + <td>FLTK.Images.RGB.BMP</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_BMP_Image</td> + <td>BMP_Image</td> + </tr> + + <tr> + <td> </td> + <td>BMP_Image_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_BMP_Image(const char *filename); +</pre></td> +<td><pre> +function Create + (Filename : in String) + return BMP_Image; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_device.html b/doc/fl_device.html new file mode 100644 index 0000000..5e62da8 --- /dev/null +++ b/doc/fl_device.html @@ -0,0 +1,42 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Device Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Device Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Device</td> + <td>FLTK.Devices</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Device</td> + <td>Device</td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_fill_slider.html b/doc/fl_fill_slider.html new file mode 100644 index 0000000..c42a5e1 --- /dev/null +++ b/doc/fl_fill_slider.html @@ -0,0 +1,84 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Fill_Slider Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Fill_Slider Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Fill_Slider</td> + <td>FLTK.Widgets.Valuators.Sliders.Fill</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Fill_Slider</td> + <td>Fill_Slider</td> + </tr> + + <tr> + <td> </td> + <td>Fill_Slider_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Fill_Slider(int X, int Y, int W, int H, const char *L=0); +</pre></td> +<td><pre> +function Create + (X, Y, W, H : in Integer; + Text : in String) + return Fill_Slider; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Fill_Slider); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Fill_Slider; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_hor_fill_slider.html b/doc/fl_hor_fill_slider.html new file mode 100644 index 0000000..bf816d1 --- /dev/null +++ b/doc/fl_hor_fill_slider.html @@ -0,0 +1,84 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Hor_Fill_Slider Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Hor_Fill_Slider Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Hor_Fill_Slider</td> + <td>FLTK.Widgets.Valuators.Sliders.Hor_Fill</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Hor_Fill_Slider</td> + <td>Hor_Fill_Slider</td> + </tr> + + <tr> + <td> </td> + <td>Hor_Fill_Slider_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Hor_Fill_Slider(int X, int Y, int W, int H, const char *L=0); +</pre></td> +<td><pre> +function Create + (X, Y, W, H : in Integer; + Text : in String) + return Hor_Fill_Slider; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Hor_Fill_Slider); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Hor_Fill_Slider; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_hor_nice_slider.html b/doc/fl_hor_nice_slider.html new file mode 100644 index 0000000..6597050 --- /dev/null +++ b/doc/fl_hor_nice_slider.html @@ -0,0 +1,84 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Hor_Nice_Slider Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Hor_Nice_Slider Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Hor_Nice_Slider</td> + <td>FLTK.Widgets.Valuators.Sliders.Hor_Nice</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Hor_Nice_Slider</td> + <td>Hor_Nice_Slider</td> + </tr> + + <tr> + <td> </td> + <td>Hor_Nice_Slider_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Hor_Nice_Slider(int X, int Y, int W, int H, const char *L=0); +</pre></td> +<td><pre> +function Create + (X, Y, W, H : in Integer; + Text : in String) + return Hor_Nice_Slider; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Hor_Nice_Slider); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Hor_Nice_Slider; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_hor_slider.html b/doc/fl_hor_slider.html new file mode 100644 index 0000000..9cc9a22 --- /dev/null +++ b/doc/fl_hor_slider.html @@ -0,0 +1,84 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Hor_Slider Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Hor_Slider Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Hor_Slider</td> + <td>FLTK.Widgets.Valuators.Sliders.Horizontal</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Hor_Slider</td> + <td>Horizontal_Slider</td> + </tr> + + <tr> + <td> </td> + <td>Horizontal_Slider_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Hor_Slider(int X, int Y, int W, int H, const char *L=0); +</pre></td> +<td><pre> +function Create + (X, Y, W, H : in Integer; + Text : in String) + return Horizontal_Slider; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Horizontal_Slider); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Horizontal_Slider; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_hor_value_slider.html b/doc/fl_hor_value_slider.html new file mode 100644 index 0000000..7d817a4 --- /dev/null +++ b/doc/fl_hor_value_slider.html @@ -0,0 +1,84 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Hor_Value_Slider Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Hor_Value_Slider Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Hor_Value_Slider</td> + <td>FLTK.Widgets.Valuators.Sliders.Value.Horizontal</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Hor_Value_Slider</td> + <td>Hor_Value_Slider</td> + </tr> + + <tr> + <td> </td> + <td>Hor_Value_Slider_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Hor_Value_Slider(int X, int Y, int W, int H, const char *L=0); +</pre></td> +<td><pre> +function Create + (X, Y, W, H : in Integer; + Text : in String) + return Hor_Value_Slider; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Hor_Value_Slider); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Hor_Value_Slider; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_image.html b/doc/fl_image.html new file mode 100644 index 0000000..4708f3f --- /dev/null +++ b/doc/fl_image.html @@ -0,0 +1,270 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Image Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Image Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Image</td> + <td>FLTK.Images</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Image</td> + <td>Image</td> + </tr> + + <tr> + <td> </td> + <td>Image_Reference</td> + </tr> + + <tr> + <td>Fl_RGB_Scaling</td> + <td>Scaling_Kind</td> + </tr> + + <tr> + <td> </td> + <td>Blend</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Image(int W, int H, int D); +</pre></td> +<td><pre> +function Create + (Width, Height, Depth : in Natural) + return Image; +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void color_average(Fl_Color c, float i); +</pre></td> +<td><pre> +procedure Color_Average + (This : in out Image; + Col : in Color; + Amount : in Blend); +</pre></td> + </tr> + + <tr> +<td><pre> +virtual Fl_Image * copy(int W, int H); +</pre></td> +<td><pre> +function Copy + (This : in Image; + Width, Height : in Natural) + return Image'Class; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Image * copy(); +</pre></td> +<td><pre> +function Copy + (This : in Image) + return Image'Class; +</pre></td> + </tr> + + <tr> +<td><pre> +int count() const; +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +int d() const; +</pre></td> +<td><pre> +function Get_D + (This : in Image) + return Natural; +</pre></td> + </tr> + + <tr> +<td><pre> +const char * const * data() const; +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +virtual void desaturate(); +</pre></td> +<td><pre> +procedure Desaturate + (This : in out Image); +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void draw(int X, int Y, int W, int H, int cx=0, int cy=0); +</pre></td> +<td><pre> +procedure Draw + (This : in Image; + X, Y, W, H : in Integer; + CX, CY : in Integer := 0); +</pre></td> + </tr> + + <tr> +<td><pre> +void draw(int X, int Y); +</pre></td> +<td><pre> +procedure Draw + (This : in Image; + X, Y : in Integer); +</pre></td> + </tr> + + <tr> +<td><pre> +void draw_empty(int X, int Y); +</pre></td> +<td><pre> +procedure Draw_Empty + (This : in Image; + X, Y : in Integer); +</pre></td> + </tr> + + <tr> +<td><pre> +int fail(); +</pre></td> +<td><pre> +function Is_Empty + (This : in Image) + return Boolean; +</pre></td> + </tr> + + <tr> +<td><pre> +int h() const; +</pre></td> +<td><pre> +function Get_H + (This : in Image) + return Natural; +</pre></td> + </tr> + + <tr> +<td><pre> +void inactive(); +</pre></td> +<td><pre> +procedure Inactive + (This : in out Image); +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void label(Fl_Widget *w); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +virtual void label(Fl_Menu_Item *m); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +int ld() const; +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +static void RGB_scaling(Fl_RGB_Scaling); +</pre></td> +<td><pre> +procedure Set_Copy_Algorithm + (To : in Scaling_Kind); +</pre></td> + </tr> + + <tr> +<td><pre> +static Fl_RGB_Scaling RGB_scaling(); +</pre></td> +<td><pre> +function Get_Copy_Algorithm + return Scaling_Kind; +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void uncache(); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +int w() const; +</pre></td> +<td><pre> +function Get_W + (This : in Image) + return Natural; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_jpeg_image.html b/doc/fl_jpeg_image.html new file mode 100644 index 0000000..b948ab0 --- /dev/null +++ b/doc/fl_jpeg_image.html @@ -0,0 +1,72 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_JPEG_Image Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_JPEG_Image Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_JPEG_Image</td> + <td>FLTK.Images.RGB.JPEG</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_JPEG_Image</td> + <td>JPEG_Image</td> + </tr> + + <tr> + <td> </td> + <td>JPEG_Image_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_JPEG_Image(const char *filename); +</pre></td> +<td><pre> +function Create + (Filename : in String) + return JPEG_Image; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_JPEG_Image(const char *name, const unsigned char *data); +</pre></td> +<td> </td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_nice_slider.html b/doc/fl_nice_slider.html new file mode 100644 index 0000000..571bf07 --- /dev/null +++ b/doc/fl_nice_slider.html @@ -0,0 +1,84 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Nice_Slider Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Nice_Slider Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Nice_Slider</td> + <td>FLTK.Widgets.Valuators.Sliders.Nice</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Nice_Slider</td> + <td>Nice_Slider</td> + </tr> + + <tr> + <td> </td> + <td>Nice_Slider_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Nice_Slider(int X, int Y, int W, int H, const char *L=0); +</pre></td> +<td><pre> +function Create + (X, Y, W, H : in Integer; + Text : in String) + return Nice_Slider; +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +procedure Draw + (This : in out Nice_Slider); +</pre></td> + </tr> + + <tr> +<td> </td> +<td><pre> +function Handle + (This : in out Nice_Slider; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_png_image.html b/doc/fl_png_image.html new file mode 100644 index 0000000..25260d7 --- /dev/null +++ b/doc/fl_png_image.html @@ -0,0 +1,72 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_PNG_Image Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_PNG_Image Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_PNG_Image</td> + <td>FLTK.Images.RGB.PNG</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_PNG_Image</td> + <td>PNG_Image</td> + </tr> + + <tr> + <td> </td> + <td>PNG_Image_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_PNG_Image(const char *filename); +</pre></td> +<td><pre> +function Create + (Filename : in String) + return PNG_Image; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_PNG_Image(const char *name, const unsigned char *buffer, int datasize); +</pre></td> +<td> </td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_pnm_image.html b/doc/fl_pnm_image.html new file mode 100644 index 0000000..5302866 --- /dev/null +++ b/doc/fl_pnm_image.html @@ -0,0 +1,65 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_PNM_Image Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_PNM_Image Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_PNM_Image</td> + <td>FLTK.Images.RGB.PNM</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_PNM_Image</td> + <td>PNM_Image</td> + </tr> + + <tr> + <td> </td> + <td>PNM_Image_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_PNM_Image(const char *filename); +</pre></td> +<td><pre> +function Create + (Filename : in String) + return PNM_Image; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_rgb_image.html b/doc/fl_rgb_image.html new file mode 100644 index 0000000..95ee4e0 --- /dev/null +++ b/doc/fl_rgb_image.html @@ -0,0 +1,171 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_RGB_Image Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_RGB_Image Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_RGB_Image</td> + <td>FLTK.Images.RGB</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_RGB_Image</td> + <td>RGB_Image</td> + </tr> + + <tr> + <td> </td> + <td>RGB_Image_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_RGB_Image(const uchar *bits, int W, int H, int D=3, int LD=0); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +Fl_RGB_Image(const Fl_Pixmap *pxm, Fl_Color bg=FL_GRAY); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +virtual void color_average(Fl_Color c, float i); +</pre></td> +<td><pre> +procedure Color_Average + (This : in out RGB_Image; + Col : in Color; + Amount : in Blend); +</pre></td> + </tr> + + <tr> +<td><pre> +virtual Fl_Image * copy(int W, int H); +</pre></td> +<td><pre> +function Copy + (This : in RGB_Image; + Width, Height : in Natural) + return RGB_Image'Class; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Image * copy(); +</pre></td> +<td><pre> +function Copy + (This : in RGB_Image) + return RGB_Image'Class; +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void desaturate(); +</pre></td> +<td><pre> +procedure Desaturate + (This : in out RGB_Image); +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void draw(int X, int Y, int W, int H, int cx=0, int cy=0); +</pre></td> +<td><pre> +procedure Draw + (This : in RGB_Image; + X, Y, W, H : in Integer; + CX, CY : in Integer := 0); +</pre></td> + </tr> + + <tr> +<td><pre> +void draw(int X, int Y); +</pre></td> +<td><pre> +procedure Draw + (This : in RGB_Image; + X, Y : in Integer); +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void label(Fl_Widget *w); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +virtual void label(Fl_Menu_Item *m); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +static void max_size(size_t size); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +static size_t max_size(); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +virtual void uncache(); +</pre></td> +<td> </td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_scrollbar.html b/doc/fl_scrollbar.html new file mode 100644 index 0000000..8538525 --- /dev/null +++ b/doc/fl_scrollbar.html @@ -0,0 +1,146 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Scrollbar Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Scrollbar Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Scrollbar</td> + <td>FLTK.Widgets.Valuators.Sliders.Scrollbars</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Scrollbar</td> + <td>Scrollbar</td> + </tr> + + <tr> + <td> </td> + <td>Scrollbar_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Scrollbar(int X, int Y, int W, int H, const char *L=0); +</pre></td> +<td><pre> +function Create + (X, Y, W, H : in Integer; + Text : in String) + return Scrollbar; +</pre></td> + </tr> + + <tr> +<td><pre> +void draw(); +</pre></td> +<td><pre> +procedure Draw + (This : in out Scrollbar); +</pre></td> + </tr> + + <tr> +<td><pre> +int handle(int); +</pre></td> +<td><pre> +function Handle + (This : in out Scrollbar; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + + <tr> +<td><pre> +int linesize() const; +</pre></td> +<td><pre> +function Get_Line_Size + (This : in Scrollbar) + return Natural; +</pre></td> + </tr> + + <tr> +<td><pre> +void linesize(int i); +</pre></td> +<td><pre> +procedure Set_Line_Size + (This : in out Scrollbar; + To : in Natural); +</pre></td> + </tr> + + <tr> +<td><pre> +int value() const; +</pre></td> +<td><pre> +function Get_Position + (This : in Scrollbar) + return Natural; +</pre></td> + </tr> + + <tr> +<td><pre> +int value(int p); +</pre></td> +<td><pre> +procedure Set_Position + (This : in out Scrollbar; + To : in Natural); +</pre></td> + </tr> + + <tr> +<td><pre> +int value(int pos, int windowSize, int first, int total); +</pre></td> +<td><pre> +procedure Set_All + (This : in out Scrollbar; + Position : in Natural; + Win_Size : in Natural; + First_Line : in Natural; + Total_Lines : in Natural); +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_shared_image.html b/doc/fl_shared_image.html new file mode 100644 index 0000000..298a541 --- /dev/null +++ b/doc/fl_shared_image.html @@ -0,0 +1,264 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Shared_Image Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Shared_Image Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Shared_Image</td> + <td>FLTK.Images.Shared</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Shared_Image</td> + <td>Shared_Image</td> + </tr> + + <tr> + <td> </td> + <td>Shared_Image_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Shared_Image(); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +Fl_Shared_Image(const char *n, Fl_Image *img=0); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +static void add_handler(Fl_Shared_Handler f); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +virtual void color_average(Fl_Color c, float i); +</pre></td> +<td><pre> +procedure Color_Average + (This : in out Shared_Image; + Col : in Color; + Amount : in Blend); +</pre></td> + </tr> + + <tr> +<td><pre> +virtual Fl_Image * copy(int W, int H); +</pre></td> +<td><pre> +function Copy + (This : in Shared_Image; + Width, Height : in Natural) + return Shared_Image'Class; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Image * copy(); +</pre></td> +<td><pre> +function Copy + (This : in Shared_Image) + return Shared_Image'Class; +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void desaturate(); +</pre></td> +<td><pre> +procedure Desaturate + (This : in out Shared_Image); +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void draw(int X, int Y, int W, int H, int cx, int cy); +</pre></td> +<td><pre> +procedure Draw + (This : in Shared_Image; + X, Y, W, H : in Integer; + CX, CY : in Integer := 0); +</pre></td> + </tr> + + <tr> +<td><pre> +void draw(int X, int Y); +</pre></td> +<td><pre> +procedure Draw + (This : in Shared_Image; + X, Y : in Integer); +</pre></td> + </tr> + + <tr> +<td><pre> +static Fl_Shared_Image * find(const char *name, int W=0, int H=0); +</pre></td> +<td><pre> +function Find + (Name : in String; + W, H : in Integer := 0) + return Shared_Image; +</pre></td> + </tr> + + <tr> +<td><pre> +static Fl_Shared_Image * get(const char *name, int W=0, int H=0); +</pre></td> +<td><pre> +function Create + (Filename : in String; + W, H : in Integer) + return Shared_Image; +</pre></td> + </tr> + + <tr> +<td><pre> +static Fl_Shared_Image * get(Fl_RGB_Image *rgb, int own_it=1); +</pre></td> +<td><pre> +function Create + (From : in FLTK.Images.RGB.RGB_Image'Class) + return Shared_Image; +</pre></td> + </tr> + + <tr> +<td><pre> +static Fl_Shared_Image ** images(); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +const char * name(); +</pre></td> +<td><pre> +function Name + (This : in Shared_Image) + return String; +</pre></td> + </tr> + + <tr> +<td><pre> +static int num_images(); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +int refcount(); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +void release(); +</pre></td> +<td>Used as destructor, handled automatically with Finalize procedure using Limited_Controlled types</td> + </tr> + + <tr> +<td><pre> +void reload(); +</pre></td> +<td><pre> +procedure Reload + (This : in out Shared_Image); +</pre></td> + </tr> + + <tr> +<td><pre> +static void remove_handler(Fl_Shared_Handler f); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +void scale(int width, int height, int proportional=1, int can_expand=0); +</pre></td> +<td><pre> +procedure Scale + (This : in out Shared_Image; + W, H : in Integer; + Proportional : in Boolean := True; + Can_Expand : in Boolean := False); +</pre></td> + </tr> + + <tr> +<td><pre> +static void scaling_algorithm(Fl_RGB_Scaling algorithm); +</pre></td> +<td><pre> +procedure Set_Scaling_Algorithm + (To : in Scaling_Kind); +</pre></td> + </tr> + + <tr> +<td><pre> +virtual void uncache(); +</pre></td> +<td> </td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_slider.html b/doc/fl_slider.html new file mode 100644 index 0000000..0853595 --- /dev/null +++ b/doc/fl_slider.html @@ -0,0 +1,187 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Slider Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Slider Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Slider</td> + <td>FLTK.Widgets.Valuators.Sliders</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Slider</td> + <td>Slider</td> + </tr> + + <tr> + <td> </td> + <td>Slider</td> + </tr> + + <tr> + <td> </td> + <td>Slider_Kind</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Slider(int X, int Y, int W, int H, const char *L=0); +</pre></td> +<td><pre> +function Create + (X, Y, W, H : in Integer; + Text : in String) + return Slider; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Slider(uchar t, int X, int Y, int W, int H, const char *L); +</pre></td> +<td> </td> + </tr> + + <tr> +<td><pre> +void bounds(double a, double b); +</pre></td> +<td><pre> +procedure Set_Bounds + (This : in out Slider; + Min, Max : in Long_Float); +</pre></td> + </tr> + + <tr> +<td><pre> +void draw(); +</pre></td> +<td><pre> +procedure Draw + (This : in out Slider); +</pre></td> + </tr> + + <tr> +<td><pre> +int handle(int); +</pre></td> +<td><pre> +function Handle + (This : in out Slider; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + + <tr> +<td><pre> +int scrollvalue(int pos, int size, int first, int total); +</pre></td> +<td><pre> +procedure Set_Scrollvalue + (This : in out Slider; + Pos_First_Line : in Natural; + Lines_In_Window : in Natural; + First_Line_Num : in Natural; + Total_Lines : in Natural); +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Boxtype slider() const; +</pre></td> +<td><pre> +function Get_Box + (This : in Slider) + return Box_Kind; +</pre></td> + </tr> + + <tr> +<td><pre> +void slider(Fl_Boxtype c); +</pre></td> +<td><pre> +procedure Set_Box + (This : in out Slider; + To : in Box_Kind); +</pre></td> + </tr> + + <tr> +<td><pre> +float slider_size() const; +</pre></td> +<td><pre> +function Get_Slide_Size + (This : in Slider) + return Float; +</pre></td> + </tr> + + <tr> +<td><pre> +void slider_size(double v); +</pre></td> +<td><pre> +procedure Set_Slide_Size + (This : in out Slider; + To : in Float); +</pre></td> + </tr> + + <tr> +<td>See type() methods for Fl_Widget</td> +<td><pre> +function Get_Slider_Type + (This : in Slider) + return Slider_Kind; +</pre></td> + </tr> + + <tr> +<td>See type() methods for Fl_Widget</td> +<td><pre> +procedure Set_Slider_Type + (This : in out Slider; + To : in Slider_Kind); +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_value_slider.html b/doc/fl_value_slider.html new file mode 100644 index 0000000..54bae4e --- /dev/null +++ b/doc/fl_value_slider.html @@ -0,0 +1,154 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_Value_Slider Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_Value_Slider Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_Value_Slider</td> + <td>FLTK.Widgets.Valuators.Sliders.Value</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_Value_Slider</td> + <td>Value_Slider</td> + </tr> + + <tr> + <td> </td> + <td>Value_Slider_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_Value_Slider(int x, int y, int w, int h, const char *l=0); +</pre></td> +<td><pre> +function Create + (X, Y, W, H : in Integer; + Text : in String) + return Value_Slider; +</pre></td> + </tr> + + <tr> +<td><pre> +void draw(); +</pre></td> +<td><pre> +procedure Draw + (This : in out Value_Slider); +</pre></td> + </tr> + + <tr> +<td><pre> +int handle(int); +</pre></td> +<td><pre> +function Handle + (This : in out Value_Slider; + Event : in Event_Kind) + return Event_Outcome; +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Color textcolor() const; +</pre></td> +<td><pre> +function Get_Text_Color + (This : in Value_Slider) + return Color; +</pre></td> + </tr> + + <tr> +<td><pre> +void textcolor(Fl_Color s); +</pre></td> +<td><pre> +procedure Set_Text_Color + (This : in out Value_Slider; + To : in Color); +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Font textfont() const; +</pre></td> +<td><pre> +function Get_Text_Font + (This : in Value_Slider) + return Font_Kind; +</pre></td> + </tr> + + <tr> +<td><pre> +void textfont(Fl_Font s); +</pre></td> +<td><pre> +procedure Set_Text_Font + (This : in out Value_Slider; + To : in Font_Kind); +</pre></td> + </tr> + + <tr> +<td><pre> +Fl_Fontsize textsize() const; +</pre></td> +<td><pre> +function Get_Text_Size + (This : in Value_Slider) + return Font_Size; +</pre></td> + </tr> + + <tr> +<td><pre> +void textsize(Fl_Fontsize s); +</pre></td> +<td><pre> +procedure Set_Text_Size + (This : in out Value_Slider; + To : in Font_Size); +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/doc/fl_xbm_image.html b/doc/fl_xbm_image.html new file mode 100644 index 0000000..cfa3b68 --- /dev/null +++ b/doc/fl_xbm_image.html @@ -0,0 +1,65 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Fl_XBM_Image Binding Map</title> + <link href="map.css" rel="stylesheet"> + </head> + + <body> + + +<h2>Fl_XBM_Image Binding Map</h2> + + +<table class="package"> + <tr><th colspan="2">Package name</th></tr> + + <tr> + <td>Fl_XBM_Image</td> + <td>FLTK.Images.Bitmaps.XBM</td> + </tr> + +</table> + + + +<table class="type"> + <tr><th colspan="2">Types</th></tr> + + <tr> + <td>Fl_XBM_Image</td> + <td>XBM_Image</td> + </tr> + + <tr> + <td> </td> + <td>XBM_Image_Reference</td> + </tr> + +</table> + + + +<table class="function"> + <tr><th colspan="2">Functions and Procedures</th></tr> + + <tr> +<td><pre> +Fl_XBM_Image(const char *filename); +</pre></td> +<td><pre> +function Create + (Filename : in String) + return XBM_Image; +</pre></td> + </tr> + +</table> + + + </body> +</html> + diff --git a/progress.txt b/progress.txt index 6bbb47b..2f306ca 100644 --- a/progress.txt +++ b/progress.txt @@ -12,7 +12,17 @@ Overall estimate: ???% Polished: +FLTK.Devices FLTK.Dialogs +FLTK.Images +FLTK.Images.Bitmaps +FLTK.Images.Bitmaps.XBM +FLTK.Images.RGB +FLTK.Images.RGB.BMP +FLTK.Images.RGB.JPEG +FLTK.Images.RGB.PNG +FLTK.Images.RGB.PNM +FLTK.Images.Shared FLTK.Tooltips FLTK.Widgets.Boxes FLTK.Widgets.Buttons @@ -48,26 +58,25 @@ FLTK.Widgets.Valuators.Dials FLTK.Widgets.Valuators.Dials.Fill FLTK.Widgets.Valuators.Dials.Line FLTK.Widgets.Valuators.Rollers +FLTK.Widgets.Valuators.Sliders +FLTK.Widgets.Valuators.Sliders.Fill +FLTK.Widgets.Valuators.Sliders.Hor_Fill +FLTK.Widgets.Valuators.Sliders.Hor_Nice +FLTK.Widgets.Valuators.Sliders.Horizontal +FLTK.Widgets.Valuators.Sliders.Nice +FLTK.Widgets.Valuators.Sliders.Scrollbars +FLTK.Widgets.Valuators.Sliders.Value +FLTK.Widgets.Valuators.Sliders.Horizontal Done: -FLTK.Devices FLTK.Devices.Surfaces.Copy FLTK.Devices.Surfaces.Image FLTK.Devices.Surfaces.Paged FLTK.Devices.Surfaces.Paged.Printers -FLTK.Images -FLTK.Images.Bitmaps -FLTK.Images.Bitmaps.XBM -FLTK.Images.RGB -FLTK.Images.RGB.BMP -FLTK.Images.RGB.JPEG -FLTK.Images.RGB.PNG -FLTK.Images.RGB.PNM -FLTK.Images.Shared FLTK.Widgets.Charts FLTK.Widgets.Groups.Color_Choosers FLTK.Widgets.Groups.Input_Choices @@ -81,15 +90,6 @@ FLTK.Widgets.Groups.Wizards FLTK.Widgets.Menus.Menu_Bars FLTK.Widgets.Menus.Menu_Buttons FLTK.Widgets.Progress_Bars -FLTK.Widgets.Valuators.Sliders -FLTK.Widgets.Valuators.Sliders.Fill -FLTK.Widgets.Valuators.Sliders.Hor_Fill -FLTK.Widgets.Valuators.Sliders.Hor_Nice -FLTK.Widgets.Valuators.Sliders.Horizontal -FLTK.Widgets.Valuators.Sliders.Nice -FLTK.Widgets.Valuators.Sliders.Scrollbars -FLTK.Widgets.Valuators.Sliders.Value -FLTK.Widgets.Valuators.Sliders.Value.Horizontal diff --git a/src/c_fl_bitmap.cpp b/src/c_fl_bitmap.cpp index ce1c221..38665b5 100644 --- a/src/c_fl_bitmap.cpp +++ b/src/c_fl_bitmap.cpp @@ -4,12 +4,14 @@ #include "c_fl_bitmap.h" + + void free_fl_bitmap(BITMAP b) { delete reinterpret_cast<Fl_Bitmap*>(b); } BITMAP fl_bitmap_copy(BITMAP b, int w, int h) { - return reinterpret_cast<Fl_Bitmap*>(b)->copy(w, h); + return reinterpret_cast<Fl_Bitmap*>(b)->Fl_Bitmap::copy(w, h); } BITMAP fl_bitmap_copy2(BITMAP b) { @@ -19,7 +21,11 @@ BITMAP fl_bitmap_copy2(BITMAP b) { +void fl_bitmap_draw2(BITMAP b, int x, int y) { + reinterpret_cast<Fl_Bitmap*>(b)->draw(x, y); +} + void fl_bitmap_draw(BITMAP b, int x, int y, int w, int h, int cx, int cy) { - reinterpret_cast<Fl_Bitmap*>(b)->draw(x, y, w, h, cx, cy); + reinterpret_cast<Fl_Bitmap*>(b)->Fl_Bitmap::draw(x, y, w, h, cx, cy); } diff --git a/src/c_fl_bitmap.h b/src/c_fl_bitmap.h index 3caab69..2bc1cca 100644 --- a/src/c_fl_bitmap.h +++ b/src/c_fl_bitmap.h @@ -11,12 +11,13 @@ typedef void* BITMAP; -extern "C" void free_fl_bitmap(BITMAP b); -extern "C" BITMAP fl_bitmap_copy(BITMAP b, int w, int h); -extern "C" BITMAP fl_bitmap_copy2(BITMAP b); +extern "C" inline void free_fl_bitmap(BITMAP b); +extern "C" inline BITMAP fl_bitmap_copy(BITMAP b, int w, int h); +extern "C" inline BITMAP fl_bitmap_copy2(BITMAP b); -extern "C" void fl_bitmap_draw(BITMAP b, int x, int y, int w, int h, int cx, int cy); +extern "C" inline void fl_bitmap_draw2(BITMAP b, int x, int y); +extern "C" inline void fl_bitmap_draw(BITMAP b, int x, int y, int w, int h, int cx, int cy); #endif diff --git a/src/c_fl_bmp_image.h b/src/c_fl_bmp_image.h index 1f9b8df..a233c3b 100644 --- a/src/c_fl_bmp_image.h +++ b/src/c_fl_bmp_image.h @@ -11,8 +11,8 @@ typedef void* BMP_IMAGE; -extern "C" BMP_IMAGE new_fl_bmp_image(const char * f); -extern "C" void free_fl_bmp_image(BMP_IMAGE b); +extern "C" inline BMP_IMAGE new_fl_bmp_image(const char * f); +extern "C" inline void free_fl_bmp_image(BMP_IMAGE b); #endif diff --git a/src/c_fl_fill_slider.h b/src/c_fl_fill_slider.h index ac9a125..35925a1 100644 --- a/src/c_fl_fill_slider.h +++ b/src/c_fl_fill_slider.h @@ -11,16 +11,16 @@ typedef void* FILL_SLIDER; -extern "C" void fill_slider_set_draw_hook(FILL_SLIDER s, void * d); -extern "C" void fl_fill_slider_draw(FILL_SLIDER s); -extern "C" void fill_slider_set_handle_hook(FILL_SLIDER s, void * h); -extern "C" int fl_fill_slider_handle(FILL_SLIDER s, int e); +extern "C" inline void fill_slider_set_draw_hook(FILL_SLIDER s, void * d); +extern "C" inline void fl_fill_slider_draw(FILL_SLIDER s); +extern "C" inline void fill_slider_set_handle_hook(FILL_SLIDER s, void * h); +extern "C" inline int fl_fill_slider_handle(FILL_SLIDER s, int e); -extern "C" FILL_SLIDER new_fl_fill_slider(int x, int y, int w, int h, char* label); -extern "C" void free_fl_fill_slider(FILL_SLIDER s); +extern "C" inline FILL_SLIDER new_fl_fill_slider(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_fill_slider(FILL_SLIDER s); #endif diff --git a/src/c_fl_hor_fill_slider.h b/src/c_fl_hor_fill_slider.h index 95ac72f..ebed13a 100644 --- a/src/c_fl_hor_fill_slider.h +++ b/src/c_fl_hor_fill_slider.h @@ -11,16 +11,16 @@ typedef void* HOR_FILL_SLIDER; -extern "C" void hor_fill_slider_set_draw_hook(HOR_FILL_SLIDER s, void * d); -extern "C" void fl_hor_fill_slider_draw(HOR_FILL_SLIDER s); -extern "C" void hor_fill_slider_set_handle_hook(HOR_FILL_SLIDER s, void * h); -extern "C" int fl_hor_fill_slider_handle(HOR_FILL_SLIDER s, int e); +extern "C" inline void hor_fill_slider_set_draw_hook(HOR_FILL_SLIDER s, void * d); +extern "C" inline void fl_hor_fill_slider_draw(HOR_FILL_SLIDER s); +extern "C" inline void hor_fill_slider_set_handle_hook(HOR_FILL_SLIDER s, void * h); +extern "C" inline int fl_hor_fill_slider_handle(HOR_FILL_SLIDER s, int e); -extern "C" HOR_FILL_SLIDER new_fl_hor_fill_slider(int x, int y, int w, int h, char* label); -extern "C" void free_fl_hor_fill_slider(HOR_FILL_SLIDER s); +extern "C" inline HOR_FILL_SLIDER new_fl_hor_fill_slider(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_hor_fill_slider(HOR_FILL_SLIDER s); #endif diff --git a/src/c_fl_hor_nice_slider.h b/src/c_fl_hor_nice_slider.h index 990fc76..bd5daba 100644 --- a/src/c_fl_hor_nice_slider.h +++ b/src/c_fl_hor_nice_slider.h @@ -11,16 +11,16 @@ typedef void* HOR_NICE_SLIDER; -extern "C" void hor_nice_slider_set_draw_hook(HOR_NICE_SLIDER s, void * d); -extern "C" void fl_hor_nice_slider_draw(HOR_NICE_SLIDER s); -extern "C" void hor_nice_slider_set_handle_hook(HOR_NICE_SLIDER s, void * h); -extern "C" int fl_hor_nice_slider_handle(HOR_NICE_SLIDER s, int e); +extern "C" inline void hor_nice_slider_set_draw_hook(HOR_NICE_SLIDER s, void * d); +extern "C" inline void fl_hor_nice_slider_draw(HOR_NICE_SLIDER s); +extern "C" inline void hor_nice_slider_set_handle_hook(HOR_NICE_SLIDER s, void * h); +extern "C" inline int fl_hor_nice_slider_handle(HOR_NICE_SLIDER s, int e); -extern "C" HOR_NICE_SLIDER new_fl_hor_nice_slider(int x, int y, int w, int h, char* label); -extern "C" void free_fl_hor_nice_slider(HOR_NICE_SLIDER s); +extern "C" inline HOR_NICE_SLIDER new_fl_hor_nice_slider(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_hor_nice_slider(HOR_NICE_SLIDER s); #endif diff --git a/src/c_fl_hor_value_slider.cpp b/src/c_fl_hor_value_slider.cpp index fe29ef8..fa3305c 100644 --- a/src/c_fl_hor_value_slider.cpp +++ b/src/c_fl_hor_value_slider.cpp @@ -68,29 +68,3 @@ void free_fl_hor_value_slider(HOR_VALUE_SLIDER s) { } - - -unsigned int fl_hor_value_slider_get_textcolor(HOR_VALUE_SLIDER s) { - return reinterpret_cast<My_Hor_Value_Slider*>(s)->textcolor(); -} - -void fl_hor_value_slider_set_textcolor(HOR_VALUE_SLIDER s, unsigned int t) { - reinterpret_cast<My_Hor_Value_Slider*>(s)->textcolor(t); -} - -int fl_hor_value_slider_get_textfont(HOR_VALUE_SLIDER s) { - return reinterpret_cast<My_Hor_Value_Slider*>(s)->textfont(); -} - -void fl_hor_value_slider_set_textfont(HOR_VALUE_SLIDER s, int t) { - reinterpret_cast<My_Hor_Value_Slider*>(s)->textfont(t); -} - -int fl_hor_value_slider_get_textsize(HOR_VALUE_SLIDER s) { - return reinterpret_cast<My_Hor_Value_Slider*>(s)->textsize(); -} - -void fl_hor_value_slider_set_textsize(HOR_VALUE_SLIDER s, int t) { - reinterpret_cast<My_Hor_Value_Slider*>(s)->textsize(t); -} - diff --git a/src/c_fl_hor_value_slider.h b/src/c_fl_hor_value_slider.h index 7e682f5..e1ccfd7 100644 --- a/src/c_fl_hor_value_slider.h +++ b/src/c_fl_hor_value_slider.h @@ -11,16 +11,16 @@ typedef void* HOR_VALUE_SLIDER; -extern "C" void hor_value_slider_set_draw_hook(HOR_VALUE_SLIDER s, void * d); -extern "C" void fl_hor_value_slider_draw(HOR_VALUE_SLIDER s); -extern "C" void hor_value_slider_set_handle_hook(HOR_VALUE_SLIDER s, void * h); -extern "C" int fl_hor_value_slider_handle(HOR_VALUE_SLIDER s, int e); +extern "C" inline void hor_value_slider_set_draw_hook(HOR_VALUE_SLIDER s, void * d); +extern "C" inline void fl_hor_value_slider_draw(HOR_VALUE_SLIDER s); +extern "C" inline void hor_value_slider_set_handle_hook(HOR_VALUE_SLIDER s, void * h); +extern "C" inline int fl_hor_value_slider_handle(HOR_VALUE_SLIDER s, int e); -extern "C" HOR_VALUE_SLIDER new_fl_hor_value_slider(int x, int y, int w, int h, char* label); -extern "C" void free_fl_hor_value_slider(HOR_VALUE_SLIDER s); +extern "C" inline HOR_VALUE_SLIDER new_fl_hor_value_slider(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_hor_value_slider(HOR_VALUE_SLIDER s); #endif diff --git a/src/c_fl_horizontal_slider.h b/src/c_fl_horizontal_slider.h index 13ba6e2..18a0ed8 100644 --- a/src/c_fl_horizontal_slider.h +++ b/src/c_fl_horizontal_slider.h @@ -11,16 +11,16 @@ typedef void* HORIZONTAL_SLIDER; -extern "C" void horizontal_slider_set_draw_hook(HORIZONTAL_SLIDER s, void * d); -extern "C" void fl_horizontal_slider_draw(HORIZONTAL_SLIDER s); -extern "C" void horizontal_slider_set_handle_hook(HORIZONTAL_SLIDER s, void * h); -extern "C" int fl_horizontal_slider_handle(HORIZONTAL_SLIDER s, int e); +extern "C" inline void horizontal_slider_set_draw_hook(HORIZONTAL_SLIDER s, void * d); +extern "C" inline void fl_horizontal_slider_draw(HORIZONTAL_SLIDER s); +extern "C" inline void horizontal_slider_set_handle_hook(HORIZONTAL_SLIDER s, void * h); +extern "C" inline int fl_horizontal_slider_handle(HORIZONTAL_SLIDER s, int e); -extern "C" HORIZONTAL_SLIDER new_fl_horizontal_slider(int x, int y, int w, int h, char* label); -extern "C" void free_fl_horizontal_slider(HORIZONTAL_SLIDER s); +extern "C" inline HORIZONTAL_SLIDER new_fl_horizontal_slider(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_horizontal_slider(HORIZONTAL_SLIDER s); #endif diff --git a/src/c_fl_image.cpp b/src/c_fl_image.cpp index f3daf7f..07b6d4d 100644 --- a/src/c_fl_image.cpp +++ b/src/c_fl_image.cpp @@ -8,6 +8,7 @@ class My_Image : public Fl_Image { public: + using Fl_Image::Fl_Image; friend void fl_image_draw_empty(IMAGE i, int x, int y); }; @@ -15,16 +16,28 @@ class My_Image : public Fl_Image { IMAGE new_fl_image(int w, int h, int d) { - Fl_Image *i = new Fl_Image(w, h, d); + My_Image *i = new My_Image(w, h, d); return i; } void free_fl_image(IMAGE i) { - delete reinterpret_cast<Fl_Image*>(i); + delete reinterpret_cast<My_Image*>(i); +} + + + + +int fl_image_get_rgb_scaling() { + return Fl_Image::RGB_scaling(); +} + +void fl_image_set_rgb_scaling(int t) { + Fl_Image::RGB_scaling(static_cast<Fl_RGB_Scaling>(t)); } IMAGE fl_image_copy(IMAGE i, int w, int h) { - return reinterpret_cast<Fl_Image*>(i)->copy(w, h); + // virtual so disable dispatch + return reinterpret_cast<Fl_Image*>(i)->Fl_Image::copy(w, h); } IMAGE fl_image_copy2(IMAGE i) { @@ -35,11 +48,13 @@ IMAGE fl_image_copy2(IMAGE i) { void fl_image_color_average(IMAGE i, int c, float b) { - reinterpret_cast<Fl_Image*>(i)->color_average(c, b); + // virtual so disable dispatch + reinterpret_cast<Fl_Image*>(i)->Fl_Image::color_average(c, b); } void fl_image_desaturate(IMAGE i) { - reinterpret_cast<Fl_Image*>(i)->desaturate(); + // virtual so disable dispatch + reinterpret_cast<Fl_Image*>(i)->Fl_Image::desaturate(); } @@ -85,7 +100,8 @@ void fl_image_draw(IMAGE i, int x, int y) { } void fl_image_draw2(IMAGE i, int x, int y, int w, int h, int cx, int cy) { - reinterpret_cast<Fl_Image*>(i)->draw(x, y, w, h, cx, cy); + // virtual so disable dispatch + reinterpret_cast<Fl_Image*>(i)->Fl_Image::draw(x, y, w, h, cx, cy); } void fl_image_draw_empty(IMAGE i, int x, int y) { diff --git a/src/c_fl_image.h b/src/c_fl_image.h index b3fac75..efe7765 100644 --- a/src/c_fl_image.h +++ b/src/c_fl_image.h @@ -11,30 +11,34 @@ typedef void* IMAGE; -extern "C" IMAGE new_fl_image(int w, int h, int d); -extern "C" void free_fl_image(IMAGE i); -extern "C" IMAGE fl_image_copy(IMAGE i, int w, int h); -extern "C" IMAGE fl_image_copy2(IMAGE i); +extern "C" inline IMAGE new_fl_image(int w, int h, int d); +extern "C" inline void free_fl_image(IMAGE i); +extern "C" inline int fl_image_get_rgb_scaling(); +extern "C" inline void fl_image_set_rgb_scaling(int t); +extern "C" inline IMAGE fl_image_copy(IMAGE i, int w, int h); +extern "C" inline IMAGE fl_image_copy2(IMAGE i); -extern "C" void fl_image_color_average(IMAGE i, int c, float b); -extern "C" void fl_image_desaturate(IMAGE i); -extern "C" void fl_image_inactive(IMAGE i); -extern "C" int fl_image_fail(IMAGE i); +extern "C" inline void fl_image_color_average(IMAGE i, int c, float b); +extern "C" inline void fl_image_desaturate(IMAGE i); -extern "C" int fl_image_w(IMAGE i); -extern "C" int fl_image_h(IMAGE i); -extern "C" int fl_image_d(IMAGE i); +extern "C" inline void fl_image_inactive(IMAGE i); +extern "C" inline int fl_image_fail(IMAGE i); -extern "C" void fl_image_draw(IMAGE i, int x, int y); -extern "C" void fl_image_draw2(IMAGE i, int x, int y, int w, int h, int cx, int cy); -extern "C" void fl_image_draw_empty(IMAGE i, int x, int y); +extern "C" inline int fl_image_w(IMAGE i); +extern "C" inline int fl_image_h(IMAGE i); +extern "C" inline int fl_image_d(IMAGE i); + + +extern "C" inline void fl_image_draw(IMAGE i, int x, int y); +extern "C" inline void fl_image_draw2(IMAGE i, int x, int y, int w, int h, int cx, int cy); +extern "C" inline void fl_image_draw_empty(IMAGE i, int x, int y); #endif diff --git a/src/c_fl_jpeg_image.h b/src/c_fl_jpeg_image.h index c81bd6f..90389de 100644 --- a/src/c_fl_jpeg_image.h +++ b/src/c_fl_jpeg_image.h @@ -11,8 +11,8 @@ typedef void* JPEG_IMAGE; -extern "C" JPEG_IMAGE new_fl_jpeg_image(const char * f); -extern "C" void free_fl_jpeg_image(JPEG_IMAGE j); +extern "C" inline JPEG_IMAGE new_fl_jpeg_image(const char * f); +extern "C" inline void free_fl_jpeg_image(JPEG_IMAGE j); #endif diff --git a/src/c_fl_nice_slider.h b/src/c_fl_nice_slider.h index d07b47e..4874923 100644 --- a/src/c_fl_nice_slider.h +++ b/src/c_fl_nice_slider.h @@ -11,16 +11,16 @@ typedef void* NICE_SLIDER; -extern "C" void nice_slider_set_draw_hook(NICE_SLIDER s, void * d); -extern "C" void fl_nice_slider_draw(NICE_SLIDER s); -extern "C" void nice_slider_set_handle_hook(NICE_SLIDER s, void * h); -extern "C" int fl_nice_slider_handle(NICE_SLIDER s, int e); +extern "C" inline void nice_slider_set_draw_hook(NICE_SLIDER s, void * d); +extern "C" inline void fl_nice_slider_draw(NICE_SLIDER s); +extern "C" inline void nice_slider_set_handle_hook(NICE_SLIDER s, void * h); +extern "C" inline int fl_nice_slider_handle(NICE_SLIDER s, int e); -extern "C" NICE_SLIDER new_fl_nice_slider(int x, int y, int w, int h, char* label); -extern "C" void free_fl_nice_slider(NICE_SLIDER s); +extern "C" inline NICE_SLIDER new_fl_nice_slider(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_nice_slider(NICE_SLIDER s); #endif diff --git a/src/c_fl_png_image.h b/src/c_fl_png_image.h index b9901ea..a35cdfa 100644 --- a/src/c_fl_png_image.h +++ b/src/c_fl_png_image.h @@ -11,8 +11,8 @@ typedef void* PNG_IMAGE; -extern "C" PNG_IMAGE new_fl_png_image(const char * f); -extern "C" void free_fl_png_image(PNG_IMAGE p); +extern "C" inline PNG_IMAGE new_fl_png_image(const char * f); +extern "C" inline void free_fl_png_image(PNG_IMAGE p); #endif diff --git a/src/c_fl_pnm_image.h b/src/c_fl_pnm_image.h index 558780c..e5031d8 100644 --- a/src/c_fl_pnm_image.h +++ b/src/c_fl_pnm_image.h @@ -11,8 +11,8 @@ typedef void* PNM_IMAGE; -extern "C" PNM_IMAGE new_fl_pnm_image(const char * f); -extern "C" void free_fl_pnm_image(PNM_IMAGE p); +extern "C" inline PNM_IMAGE new_fl_pnm_image(const char * f); +extern "C" inline void free_fl_pnm_image(PNM_IMAGE p); #endif diff --git a/src/c_fl_rgb_image.cpp b/src/c_fl_rgb_image.cpp index e91eec2..3c0fec6 100644 --- a/src/c_fl_rgb_image.cpp +++ b/src/c_fl_rgb_image.cpp @@ -11,7 +11,8 @@ void free_fl_rgb_image(RGB_IMAGE i) { } RGB_IMAGE fl_rgb_image_copy(RGB_IMAGE i, int w, int h) { - return reinterpret_cast<Fl_RGB_Image*>(i)->copy(w, h); + // virtual so disable dispatch + return reinterpret_cast<Fl_RGB_Image*>(i)->Fl_RGB_Image::copy(w, h); } RGB_IMAGE fl_rgb_image_copy2(RGB_IMAGE i) { @@ -22,18 +23,25 @@ RGB_IMAGE fl_rgb_image_copy2(RGB_IMAGE i) { void fl_rgb_image_color_average(RGB_IMAGE i, int c, float b) { - reinterpret_cast<Fl_RGB_Image*>(i)->color_average(c, b); + // virtual so disable dispatch + reinterpret_cast<Fl_RGB_Image*>(i)->Fl_RGB_Image::color_average(c, b); } void fl_rgb_image_desaturate(RGB_IMAGE i) { - reinterpret_cast<Fl_RGB_Image*>(i)->desaturate(); + // virtual so disable dispatch + reinterpret_cast<Fl_RGB_Image*>(i)->Fl_RGB_Image::desaturate(); } +void fl_rgb_image_draw2(RGB_IMAGE i, int x, int y) { + reinterpret_cast<Fl_RGB_Image*>(i)->draw(x, y); +} + void fl_rgb_image_draw(RGB_IMAGE i, int x, int y, int w, int h, int cx, int cy) { - reinterpret_cast<Fl_RGB_Image*>(i)->draw(x, y, w, h, cx, cy); + // virtual so disable dispatch + reinterpret_cast<Fl_RGB_Image*>(i)->Fl_RGB_Image::draw(x, y, w, h, cx, cy); } diff --git a/src/c_fl_rgb_image.h b/src/c_fl_rgb_image.h index d64f0a2..4354541 100644 --- a/src/c_fl_rgb_image.h +++ b/src/c_fl_rgb_image.h @@ -11,18 +11,19 @@ typedef void* RGB_IMAGE; -extern "C" void free_fl_rgb_image(RGB_IMAGE i); -extern "C" RGB_IMAGE fl_rgb_image_copy(RGB_IMAGE i, int w, int h); -extern "C" RGB_IMAGE fl_rgb_image_copy2(RGB_IMAGE i); +extern "C" inline void free_fl_rgb_image(RGB_IMAGE i); +extern "C" inline RGB_IMAGE fl_rgb_image_copy(RGB_IMAGE i, int w, int h); +extern "C" inline RGB_IMAGE fl_rgb_image_copy2(RGB_IMAGE i); -extern "C" void fl_rgb_image_color_average(RGB_IMAGE i, int c, float b); -extern "C" void fl_rgb_image_desaturate(RGB_IMAGE i); +extern "C" inline void fl_rgb_image_color_average(RGB_IMAGE i, int c, float b); +extern "C" inline void fl_rgb_image_desaturate(RGB_IMAGE i); -extern "C" void fl_rgb_image_draw(RGB_IMAGE i, int x, int y, int w, int h, int cx, int cy); +extern "C" inline void fl_rgb_image_draw2(RGB_IMAGE i, int x, int y); +extern "C" inline void fl_rgb_image_draw(RGB_IMAGE i, int x, int y, int w, int h, int cx, int cy); #endif diff --git a/src/c_fl_scrollbar.cpp b/src/c_fl_scrollbar.cpp index c94240b..0301f43 100644 --- a/src/c_fl_scrollbar.cpp +++ b/src/c_fl_scrollbar.cpp @@ -71,22 +71,22 @@ void free_fl_scrollbar(SCROLLBAR s) { int fl_scrollbar_get_linesize(SCROLLBAR s) { - return reinterpret_cast<My_Scrollbar*>(s)->linesize(); + return reinterpret_cast<Fl_Scrollbar*>(s)->linesize(); } void fl_scrollbar_set_linesize(SCROLLBAR s, int t) { - reinterpret_cast<My_Scrollbar*>(s)->linesize(t); + reinterpret_cast<Fl_Scrollbar*>(s)->linesize(t); } int fl_scrollbar_get_value(SCROLLBAR s) { - return reinterpret_cast<My_Scrollbar*>(s)->value(); + return reinterpret_cast<Fl_Scrollbar*>(s)->value(); } void fl_scrollbar_set_value(SCROLLBAR s, int t) { - reinterpret_cast<My_Scrollbar*>(s)->value(t); + reinterpret_cast<Fl_Scrollbar*>(s)->value(t); } void fl_scrollbar_set_value2(SCROLLBAR s, int p, int w, int f, int t) { - reinterpret_cast<My_Scrollbar*>(s)->value(p,w,f,t); + reinterpret_cast<Fl_Scrollbar*>(s)->value(p,w,f,t); } diff --git a/src/c_fl_scrollbar.h b/src/c_fl_scrollbar.h index 311abfa..90311ac 100644 --- a/src/c_fl_scrollbar.h +++ b/src/c_fl_scrollbar.h @@ -11,25 +11,25 @@ typedef void* SCROLLBAR; -extern "C" void scrollbar_set_draw_hook(SCROLLBAR s, void * d); -extern "C" void fl_scrollbar_draw(SCROLLBAR s); -extern "C" void scrollbar_set_handle_hook(SCROLLBAR s, void * h); -extern "C" int fl_scrollbar_handle(SCROLLBAR s, int e); +extern "C" inline void scrollbar_set_draw_hook(SCROLLBAR s, void * d); +extern "C" inline void fl_scrollbar_draw(SCROLLBAR s); +extern "C" inline void scrollbar_set_handle_hook(SCROLLBAR s, void * h); +extern "C" inline int fl_scrollbar_handle(SCROLLBAR s, int e); -extern "C" SCROLLBAR new_fl_scrollbar(int x, int y, int w, int h, char* label); -extern "C" void free_fl_scrollbar(SCROLLBAR s); +extern "C" inline SCROLLBAR new_fl_scrollbar(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_scrollbar(SCROLLBAR s); -extern "C" int fl_scrollbar_get_linesize(SCROLLBAR s); -extern "C" void fl_scrollbar_set_linesize(SCROLLBAR s, int t); -extern "C" int fl_scrollbar_get_value(SCROLLBAR s); -extern "C" void fl_scrollbar_set_value(SCROLLBAR s, int t); -extern "C" void fl_scrollbar_set_value2(SCROLLBAR s, int p, int w, int f, int t); +extern "C" inline int fl_scrollbar_get_linesize(SCROLLBAR s); +extern "C" inline void fl_scrollbar_set_linesize(SCROLLBAR s, int t); +extern "C" inline int fl_scrollbar_get_value(SCROLLBAR s); +extern "C" inline void fl_scrollbar_set_value(SCROLLBAR s, int t); +extern "C" inline void fl_scrollbar_set_value2(SCROLLBAR s, int p, int w, int f, int t); #endif diff --git a/src/c_fl_shared_image.cpp b/src/c_fl_shared_image.cpp index c31b12f..a7d7bf9 100644 --- a/src/c_fl_shared_image.cpp +++ b/src/c_fl_shared_image.cpp @@ -12,7 +12,7 @@ SHARED_IMAGE fl_shared_image_get(const char * f, int w, int h) { } SHARED_IMAGE fl_shared_image_get2(void * r) { - return Fl_Shared_Image::get(reinterpret_cast<Fl_RGB_Image*>(r)); + return Fl_Shared_Image::get(reinterpret_cast<Fl_RGB_Image*>(r), 0); } SHARED_IMAGE fl_shared_image_find(const char * n, int w, int h) { @@ -24,7 +24,8 @@ void release_fl_shared_image(SHARED_IMAGE i) { } SHARED_IMAGE fl_shared_image_copy(SHARED_IMAGE i, int w, int h) { - return reinterpret_cast<Fl_Shared_Image*>(i)->copy(w, h); + // virtual so disable dispatch + return reinterpret_cast<Fl_Shared_Image*>(i)->Fl_Shared_Image::copy(w, h); } SHARED_IMAGE fl_shared_image_copy2(SHARED_IMAGE i) { @@ -35,11 +36,13 @@ SHARED_IMAGE fl_shared_image_copy2(SHARED_IMAGE i) { void fl_shared_image_color_average(SHARED_IMAGE i, int c, float b) { - reinterpret_cast<Fl_Shared_Image*>(i)->color_average(c, b); + // virtual so disable dispatch + reinterpret_cast<Fl_Shared_Image*>(i)->Fl_Shared_Image::color_average(c, b); } void fl_shared_image_desaturate(SHARED_IMAGE i) { - reinterpret_cast<Fl_Shared_Image*>(i)->desaturate(); + // virtual so disable dispatch + reinterpret_cast<Fl_Shared_Image*>(i)->Fl_Shared_Image::desaturate(); } @@ -53,10 +56,6 @@ void fl_shared_image_reload(SHARED_IMAGE i) { reinterpret_cast<Fl_Shared_Image*>(i)->reload(); } -void fl_shared_image_uncache(SHARED_IMAGE i) { - reinterpret_cast<Fl_Shared_Image*>(i)->uncache(); -} - @@ -72,7 +71,8 @@ void fl_shared_image_scale(SHARED_IMAGE i, int w, int h, int p, int e) { void fl_shared_image_draw(SHARED_IMAGE i, int x, int y, int w, int h, int cx, int cy) { - reinterpret_cast<Fl_Shared_Image*>(i)->draw(x, y, w, h, cx, cy); + // virtual so disable dispatch + reinterpret_cast<Fl_Shared_Image*>(i)->Fl_Shared_Image::draw(x, y, w, h, cx, cy); } void fl_shared_image_draw2(SHARED_IMAGE i, int x, int y) { diff --git a/src/c_fl_shared_image.h b/src/c_fl_shared_image.h index 6c6abdf..2924b62 100644 --- a/src/c_fl_shared_image.h +++ b/src/c_fl_shared_image.h @@ -11,31 +11,30 @@ typedef void* SHARED_IMAGE; -extern "C" SHARED_IMAGE fl_shared_image_get(const char * f, int w, int h); -extern "C" SHARED_IMAGE fl_shared_image_get2(void * r); -extern "C" SHARED_IMAGE fl_shared_image_find(const char * n, int w, int h); -extern "C" void release_fl_shared_image(SHARED_IMAGE i); -extern "C" SHARED_IMAGE fl_shared_image_copy(SHARED_IMAGE i, int w, int h); -extern "C" SHARED_IMAGE fl_shared_image_copy2(SHARED_IMAGE i); +extern "C" inline SHARED_IMAGE fl_shared_image_get(const char * f, int w, int h); +extern "C" inline SHARED_IMAGE fl_shared_image_get2(void * r); +extern "C" inline SHARED_IMAGE fl_shared_image_find(const char * n, int w, int h); +extern "C" inline void release_fl_shared_image(SHARED_IMAGE i); +extern "C" inline SHARED_IMAGE fl_shared_image_copy(SHARED_IMAGE i, int w, int h); +extern "C" inline SHARED_IMAGE fl_shared_image_copy2(SHARED_IMAGE i); -extern "C" void fl_shared_image_color_average(SHARED_IMAGE i, int c, float b); -extern "C" void fl_shared_image_desaturate(SHARED_IMAGE i); +extern "C" inline void fl_shared_image_color_average(SHARED_IMAGE i, int c, float b); +extern "C" inline void fl_shared_image_desaturate(SHARED_IMAGE i); -extern "C" const char * fl_shared_image_name(SHARED_IMAGE i); -extern "C" void fl_shared_image_reload(SHARED_IMAGE i); -extern "C" void fl_shared_image_uncache(SHARED_IMAGE i); +extern "C" inline const char * fl_shared_image_name(SHARED_IMAGE i); +extern "C" inline void fl_shared_image_reload(SHARED_IMAGE i); -extern "C" void fl_shared_image_scaling_algorithm(int v); -extern "C" void fl_shared_image_scale(SHARED_IMAGE i, int w, int h, int p, int e); +extern "C" inline void fl_shared_image_scaling_algorithm(int v); +extern "C" inline void fl_shared_image_scale(SHARED_IMAGE i, int w, int h, int p, int e); -extern "C" void fl_shared_image_draw(SHARED_IMAGE i, int x, int y, int w, int h, int cx, int cy); -extern "C" void fl_shared_image_draw2(SHARED_IMAGE i, int x, int y); +extern "C" inline void fl_shared_image_draw(SHARED_IMAGE i, int x, int y, int w, int h, int cx, int cy); +extern "C" inline void fl_shared_image_draw2(SHARED_IMAGE i, int x, int y); #endif diff --git a/src/c_fl_slider.cpp b/src/c_fl_slider.cpp index fe30e2b..48b007f 100644 --- a/src/c_fl_slider.cpp +++ b/src/c_fl_slider.cpp @@ -70,6 +70,17 @@ void free_fl_slider(SLIDER s) { +int fl_slider_get_type(SLIDER s) { + return reinterpret_cast<Fl_Slider*>(s)->type(); +} + +void fl_slider_set_type(SLIDER s, int t) { + reinterpret_cast<Fl_Slider*>(s)->type(t); +} + + + + void fl_slider_set_bounds(SLIDER s, double a, double b) { reinterpret_cast<Fl_Slider*>(s)->bounds(a,b); } diff --git a/src/c_fl_slider.h b/src/c_fl_slider.h index c06f209..4adae2a 100644 --- a/src/c_fl_slider.h +++ b/src/c_fl_slider.h @@ -11,26 +11,30 @@ typedef void* SLIDER; -extern "C" void slider_set_draw_hook(SLIDER s, void * d); -extern "C" void fl_slider_draw(SLIDER s); -extern "C" void slider_set_handle_hook(SLIDER s, void * h); -extern "C" int fl_slider_handle(SLIDER s, int e); +extern "C" inline void slider_set_draw_hook(SLIDER s, void * d); +extern "C" inline void fl_slider_draw(SLIDER s); +extern "C" inline void slider_set_handle_hook(SLIDER s, void * h); +extern "C" inline int fl_slider_handle(SLIDER s, int e); -extern "C" SLIDER new_fl_slider(int x, int y, int w, int h, char* label); -extern "C" void free_fl_slider(SLIDER s); +extern "C" inline SLIDER new_fl_slider(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_slider(SLIDER s); -extern "C" void fl_slider_set_bounds(SLIDER s, double a, double b); -extern "C" int fl_slider_get_slider(SLIDER s); -extern "C" void fl_slider_set_slider(SLIDER s, int t); -extern "C" float fl_slider_get_slider_size(SLIDER s); -extern "C" void fl_slider_set_slider_size(SLIDER s, float t); -extern "C" int fl_slider_scrollvalue(SLIDER s, int p, int z, int f, int t); +extern "C" inline int fl_slider_get_type(SLIDER s); +extern "C" inline void fl_slider_set_type(SLIDER s, int t); + + +extern "C" inline void fl_slider_set_bounds(SLIDER s, double a, double b); +extern "C" inline int fl_slider_get_slider(SLIDER s); +extern "C" inline void fl_slider_set_slider(SLIDER s, int t); +extern "C" inline float fl_slider_get_slider_size(SLIDER s); +extern "C" inline void fl_slider_set_slider_size(SLIDER s, float t); +extern "C" inline int fl_slider_scrollvalue(SLIDER s, int p, int z, int f, int t); #endif diff --git a/src/c_fl_value_slider.cpp b/src/c_fl_value_slider.cpp index 757424c..aa819af 100644 --- a/src/c_fl_value_slider.cpp +++ b/src/c_fl_value_slider.cpp @@ -71,26 +71,26 @@ void free_fl_value_slider(VALUE_SLIDER s) { unsigned int fl_value_slider_get_textcolor(VALUE_SLIDER s) { - return reinterpret_cast<My_Value_Slider*>(s)->textcolor(); + return reinterpret_cast<Fl_Value_Slider*>(s)->textcolor(); } void fl_value_slider_set_textcolor(VALUE_SLIDER s, unsigned int t) { - reinterpret_cast<My_Value_Slider*>(s)->textcolor(t); + reinterpret_cast<Fl_Value_Slider*>(s)->textcolor(t); } int fl_value_slider_get_textfont(VALUE_SLIDER s) { - return reinterpret_cast<My_Value_Slider*>(s)->textfont(); + return reinterpret_cast<Fl_Value_Slider*>(s)->textfont(); } void fl_value_slider_set_textfont(VALUE_SLIDER s, int t) { - reinterpret_cast<My_Value_Slider*>(s)->textfont(t); + reinterpret_cast<Fl_Value_Slider*>(s)->textfont(t); } int fl_value_slider_get_textsize(VALUE_SLIDER s) { - return reinterpret_cast<My_Value_Slider*>(s)->textsize(); + return reinterpret_cast<Fl_Value_Slider*>(s)->textsize(); } void fl_value_slider_set_textsize(VALUE_SLIDER s, int t) { - reinterpret_cast<My_Value_Slider*>(s)->textsize(t); + reinterpret_cast<Fl_Value_Slider*>(s)->textsize(t); } diff --git a/src/c_fl_value_slider.h b/src/c_fl_value_slider.h index 9229fe6..1dba93a 100644 --- a/src/c_fl_value_slider.h +++ b/src/c_fl_value_slider.h @@ -11,26 +11,26 @@ typedef void* VALUE_SLIDER; -extern "C" void value_slider_set_draw_hook(VALUE_SLIDER s, void * d); -extern "C" void fl_value_slider_draw(VALUE_SLIDER s); -extern "C" void value_slider_set_handle_hook(VALUE_SLIDER s, void * h); -extern "C" int fl_value_slider_handle(VALUE_SLIDER s, int e); +extern "C" inline void value_slider_set_draw_hook(VALUE_SLIDER s, void * d); +extern "C" inline void fl_value_slider_draw(VALUE_SLIDER s); +extern "C" inline void value_slider_set_handle_hook(VALUE_SLIDER s, void * h); +extern "C" inline int fl_value_slider_handle(VALUE_SLIDER s, int e); -extern "C" VALUE_SLIDER new_fl_value_slider(int x, int y, int w, int h, char* label); -extern "C" void free_fl_value_slider(VALUE_SLIDER s); +extern "C" inline VALUE_SLIDER new_fl_value_slider(int x, int y, int w, int h, char* label); +extern "C" inline void free_fl_value_slider(VALUE_SLIDER s); -extern "C" unsigned int fl_value_slider_get_textcolor(VALUE_SLIDER s); -extern "C" void fl_value_slider_set_textcolor(VALUE_SLIDER s, unsigned int t); -extern "C" int fl_value_slider_get_textfont(VALUE_SLIDER s); -extern "C" void fl_value_slider_set_textfont(VALUE_SLIDER s, int t); -extern "C" int fl_value_slider_get_textsize(VALUE_SLIDER s); -extern "C" void fl_value_slider_set_textsize(VALUE_SLIDER s, int t); +extern "C" inline unsigned int fl_value_slider_get_textcolor(VALUE_SLIDER s); +extern "C" inline void fl_value_slider_set_textcolor(VALUE_SLIDER s, unsigned int t); +extern "C" inline int fl_value_slider_get_textfont(VALUE_SLIDER s); +extern "C" inline void fl_value_slider_set_textfont(VALUE_SLIDER s, int t); +extern "C" inline int fl_value_slider_get_textsize(VALUE_SLIDER s); +extern "C" inline void fl_value_slider_set_textsize(VALUE_SLIDER s, int t); #endif diff --git a/src/c_fl_xbm_image.h b/src/c_fl_xbm_image.h index 9b0c967..33a78e1 100644 --- a/src/c_fl_xbm_image.h +++ b/src/c_fl_xbm_image.h @@ -11,8 +11,8 @@ typedef void* XBM_IMAGE; -extern "C" XBM_IMAGE new_fl_xbm_image(const char * f); -extern "C" void free_fl_xbm_image(XBM_IMAGE b); +extern "C" inline XBM_IMAGE new_fl_xbm_image(const char * f); +extern "C" inline void free_fl_xbm_image(XBM_IMAGE b); #endif diff --git a/src/fltk-images-bitmaps-xbm.adb b/src/fltk-images-bitmaps-xbm.adb index 13cc5dd..1ab0904 100644 --- a/src/fltk-images-bitmaps-xbm.adb +++ b/src/fltk-images-bitmaps-xbm.adb @@ -17,10 +17,12 @@ package body FLTK.Images.Bitmaps.XBM is (F : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_xbm_image, "new_fl_xbm_image"); + pragma Inline (new_fl_xbm_image); procedure free_fl_xbm_image (P : in System.Address); pragma Import (C, free_fl_xbm_image, "free_fl_xbm_image"); + pragma Inline (free_fl_xbm_image); diff --git a/src/fltk-images-bitmaps-xbm.ads b/src/fltk-images-bitmaps-xbm.ads index 986a192..a242538 100644 --- a/src/fltk-images-bitmaps-xbm.ads +++ b/src/fltk-images-bitmaps-xbm.ads @@ -5,6 +5,9 @@ package FLTK.Images.Bitmaps.XBM is type XBM_Image is new Bitmap with private; + type XBM_Image_Reference (Data : not null access XBM_Image'Class) is limited null record + with Implicit_Dereference => Data; + diff --git a/src/fltk-images-bitmaps.adb b/src/fltk-images-bitmaps.adb index 7fb1a51..ac4bf1e 100644 --- a/src/fltk-images-bitmaps.adb +++ b/src/fltk-images-bitmaps.adb @@ -16,25 +16,35 @@ package body FLTK.Images.Bitmaps is procedure free_fl_bitmap (I : in System.Address); pragma Import (C, free_fl_bitmap, "free_fl_bitmap"); + pragma Inline (free_fl_bitmap); function fl_bitmap_copy (I : in System.Address; W, H : in Interfaces.C.int) return System.Address; pragma Import (C, fl_bitmap_copy, "fl_bitmap_copy"); + pragma Inline (fl_bitmap_copy); function fl_bitmap_copy2 (I : in System.Address) return System.Address; pragma Import (C, fl_bitmap_copy2, "fl_bitmap_copy2"); + pragma Inline (fl_bitmap_copy2); + procedure fl_bitmap_draw2 + (I : in System.Address; + X, Y : in Interfaces.C.int); + pragma Import (C, fl_bitmap_draw2, "fl_bitmap_draw2"); + pragma Inline (fl_bitmap_draw2); + procedure fl_bitmap_draw (I : in System.Address; X, Y, W, H, CX, CY : in Interfaces.C.int); pragma Import (C, fl_bitmap_draw, "fl_bitmap_draw"); + pragma Inline (fl_bitmap_draw); @@ -81,6 +91,17 @@ package body FLTK.Images.Bitmaps is procedure Draw + (This : in Bitmap; + X, Y : in Integer) is + begin + fl_bitmap_draw2 + (This.Void_Ptr, + Interfaces.C.int (X), + Interfaces.C.int (Y)); + end Draw; + + + procedure Draw (This : in Bitmap; X, Y, W, H : in Integer; CX, CY : in Integer := 0) is diff --git a/src/fltk-images-bitmaps.ads b/src/fltk-images-bitmaps.ads index 53229e2..14df718 100644 --- a/src/fltk-images-bitmaps.ads +++ b/src/fltk-images-bitmaps.ads @@ -5,6 +5,9 @@ package FLTK.Images.Bitmaps is type Bitmap is new Image with private; + type Bitmap_Reference (Data : not null access Bitmap'Class) is limited null record + with Implicit_Dereference => Data; + @@ -21,6 +24,10 @@ package FLTK.Images.Bitmaps is procedure Draw + (This : in Bitmap; + X, Y : in Integer); + + procedure Draw (This : in Bitmap; X, Y, W, H : in Integer; CX, CY : in Integer := 0); @@ -35,5 +42,11 @@ private (This : in out Bitmap); + + + pragma Inline (Copy); + pragma Inline (Draw); + + end FLTK.Images.Bitmaps; diff --git a/src/fltk-images-rgb-bmp.adb b/src/fltk-images-rgb-bmp.adb index 7556234..31162f9 100644 --- a/src/fltk-images-rgb-bmp.adb +++ b/src/fltk-images-rgb-bmp.adb @@ -17,10 +17,12 @@ package body FLTK.Images.RGB.BMP is (F : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_bmp_image, "new_fl_bmp_image"); + pragma Inline (new_fl_bmp_image); procedure free_fl_bmp_image (P : in System.Address); pragma Import (C, free_fl_bmp_image, "free_fl_bmp_image"); + pragma Inline (free_fl_bmp_image); diff --git a/src/fltk-images-rgb-bmp.ads b/src/fltk-images-rgb-bmp.ads index eed47e1..bb4fa48 100644 --- a/src/fltk-images-rgb-bmp.ads +++ b/src/fltk-images-rgb-bmp.ads @@ -5,6 +5,9 @@ package FLTK.Images.RGB.BMP is type BMP_Image is new RGB_Image with private; + type BMP_Image_Reference (Data : not null access BMP_Image'Class) is limited null record + with Implicit_Dereference => Data; + diff --git a/src/fltk-images-rgb-jpeg.adb b/src/fltk-images-rgb-jpeg.adb index d37eb3d..9448570 100644 --- a/src/fltk-images-rgb-jpeg.adb +++ b/src/fltk-images-rgb-jpeg.adb @@ -17,10 +17,12 @@ package body FLTK.Images.RGB.JPEG is (F : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_jpeg_image, "new_fl_jpeg_image"); + pragma Inline (new_fl_jpeg_image); procedure free_fl_jpeg_image (P : in System.Address); pragma Import (C, free_fl_jpeg_image, "free_fl_jpeg_image"); + pragma Inline (free_fl_jpeg_image); diff --git a/src/fltk-images-rgb-jpeg.ads b/src/fltk-images-rgb-jpeg.ads index a443f2b..c7fafd8 100644 --- a/src/fltk-images-rgb-jpeg.ads +++ b/src/fltk-images-rgb-jpeg.ads @@ -5,6 +5,9 @@ package FLTK.Images.RGB.JPEG is type JPEG_Image is new RGB_Image with private; + type JPEG_Image_Reference (Data : not null access JPEG_Image'Class) is + limited null record with Implicit_Dereference => Data; + diff --git a/src/fltk-images-rgb-png.adb b/src/fltk-images-rgb-png.adb index 9a541a8..8cb97ce 100644 --- a/src/fltk-images-rgb-png.adb +++ b/src/fltk-images-rgb-png.adb @@ -17,10 +17,12 @@ package body FLTK.Images.RGB.PNG is (F : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_png_image, "new_fl_png_image"); + pragma Inline (new_fl_png_image); procedure free_fl_png_image (P : in System.Address); pragma Import (C, free_fl_png_image, "free_fl_png_image"); + pragma Inline (free_fl_png_image); diff --git a/src/fltk-images-rgb-png.ads b/src/fltk-images-rgb-png.ads index fbcb69b..760f84d 100644 --- a/src/fltk-images-rgb-png.ads +++ b/src/fltk-images-rgb-png.ads @@ -5,6 +5,9 @@ package FLTK.Images.RGB.PNG is type PNG_Image is new RGB_Image with private; + type PNG_Image_Reference (Data : not null access PNG_Image'Class) is limited null record + with Implicit_Dereference => Data; + diff --git a/src/fltk-images-rgb-pnm.adb b/src/fltk-images-rgb-pnm.adb index 51cf026..95247a1 100644 --- a/src/fltk-images-rgb-pnm.adb +++ b/src/fltk-images-rgb-pnm.adb @@ -17,10 +17,12 @@ package body FLTK.Images.RGB.PNM is (F : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_pnm_image, "new_fl_pnm_image"); + pragma Inline (new_fl_pnm_image); procedure free_fl_pnm_image (P : in System.Address); pragma Import (C, free_fl_pnm_image, "free_fl_pnm_image"); + pragma Inline (free_fl_pnm_image); diff --git a/src/fltk-images-rgb-pnm.ads b/src/fltk-images-rgb-pnm.ads index f766f84..92743ea 100644 --- a/src/fltk-images-rgb-pnm.ads +++ b/src/fltk-images-rgb-pnm.ads @@ -5,6 +5,9 @@ package FLTK.Images.RGB.PNM is type PNM_Image is new RGB_Image with private; + type PNM_Image_Reference (Data : not null access PNM_Image'Class) is limited null record + with Implicit_Dereference => Data; + diff --git a/src/fltk-images-rgb.adb b/src/fltk-images-rgb.adb index 3bcd01e..8e3e36f 100644 --- a/src/fltk-images-rgb.adb +++ b/src/fltk-images-rgb.adb @@ -16,17 +16,20 @@ package body FLTK.Images.RGB is procedure free_fl_rgb_image (I : in System.Address); pragma Import (C, free_fl_rgb_image, "free_fl_rgb_image"); + pragma Inline (free_fl_rgb_image); function fl_rgb_image_copy (I : in System.Address; W, H : in Interfaces.C.int) return System.Address; pragma Import (C, fl_rgb_image_copy, "fl_rgb_image_copy"); + pragma Inline (fl_rgb_image_copy); function fl_rgb_image_copy2 (I : in System.Address) return System.Address; pragma Import (C, fl_rgb_image_copy2, "fl_rgb_image_copy2"); + pragma Inline (fl_rgb_image_copy2); @@ -36,18 +39,27 @@ package body FLTK.Images.RGB is C : in Interfaces.C.int; B : in Interfaces.C.C_float); pragma Import (C, fl_rgb_image_color_average, "fl_rgb_image_color_average"); + pragma Inline (fl_rgb_image_color_average); procedure fl_rgb_image_desaturate (I : in System.Address); pragma Import (C, fl_rgb_image_desaturate, "fl_rgb_image_desaturate"); + pragma Inline (fl_rgb_image_desaturate); + procedure fl_rgb_image_draw2 + (I : in System.Address; + X, Y : in Interfaces.C.int); + pragma Import (C, fl_rgb_image_draw2, "fl_rgb_image_draw2"); + pragma Inline (fl_rgb_image_draw2); + procedure fl_rgb_image_draw (I : in System.Address; X, Y, W, H, CX, CY : in Interfaces.C.int); pragma Import (C, fl_rgb_image_draw, "fl_rgb_image_draw"); + pragma Inline (fl_rgb_image_draw); @@ -115,6 +127,17 @@ package body FLTK.Images.RGB is procedure Draw + (This : in RGB_Image; + X, Y : in Integer) is + begin + fl_rgb_image_draw2 + (This.Void_Ptr, + Interfaces.C.int (X), + Interfaces.C.int (Y)); + end Draw; + + + procedure Draw (This : in RGB_Image; X, Y, W, H : in Integer; CX, CY : in Integer := 0) is diff --git a/src/fltk-images-rgb.ads b/src/fltk-images-rgb.ads index c807468..3aa3de0 100644 --- a/src/fltk-images-rgb.ads +++ b/src/fltk-images-rgb.ads @@ -5,6 +5,9 @@ package FLTK.Images.RGB is type RGB_Image is new Image with private; + type RGB_Image_Reference (Data : not null access RGB_Image'Class) is limited null record + with Implicit_Dereference => Data; + @@ -32,6 +35,10 @@ package FLTK.Images.RGB is procedure Draw + (This : in RGB_Image; + X, Y : in Integer); + + procedure Draw (This : in RGB_Image; X, Y, W, H : in Integer; CX, CY : in Integer := 0); @@ -46,5 +53,17 @@ private (This : in out RGB_Image); + + + pragma Inline (Copy); + + + pragma Inline (Color_Average); + pragma Inline (Desaturate); + + + pragma Inline (Draw); + + end FLTK.Images.RGB; diff --git a/src/fltk-images-shared.adb b/src/fltk-images-shared.adb index e5bd240..0e36e6e 100644 --- a/src/fltk-images-shared.adb +++ b/src/fltk-images-shared.adb @@ -18,32 +18,38 @@ package body FLTK.Images.Shared is W, H : in Interfaces.C.int) return System.Address; pragma Import (C, fl_shared_image_get, "fl_shared_image_get"); + pragma Inline (fl_shared_image_get); function fl_shared_image_get2 (I : in System.Address) return System.Address; pragma Import (C, fl_shared_image_get2, "fl_shared_image_get2"); + pragma Inline (fl_shared_image_get2); function fl_shared_image_find (N : in Interfaces.C.char_array; W, H : in Interfaces.C.int) return System.Address; pragma Import (C, fl_shared_image_find, "fl_shared_image_find"); + pragma Inline (fl_shared_image_find); procedure fl_shared_image_release (I : in System.Address); pragma Import (C, fl_shared_image_release, "fl_shared_image_release"); + pragma Inline (fl_shared_image_release); function fl_shared_image_copy (I : in System.Address; W, H : in Interfaces.C.int) return System.Address; pragma Import (C, fl_shared_image_copy, "fl_shared_image_copy"); + pragma Inline (fl_shared_image_copy); function fl_shared_image_copy2 (I : in System.Address) return System.Address; pragma Import (C, fl_shared_image_copy2, "fl_shared_image_copy2"); + pragma Inline (fl_shared_image_copy2); @@ -53,10 +59,12 @@ package body FLTK.Images.Shared is C : in Interfaces.C.int; B : in Interfaces.C.C_float); pragma Import (C, fl_shared_image_color_average, "fl_shared_image_color_average"); + pragma Inline (fl_shared_image_color_average); procedure fl_shared_image_desaturate (I : in System.Address); pragma Import (C, fl_shared_image_desaturate, "fl_shared_image_desaturate"); + pragma Inline (fl_shared_image_desaturate); @@ -65,14 +73,12 @@ package body FLTK.Images.Shared is (I : in System.Address) return Interfaces.C.Strings.chars_ptr; pragma Import (C, fl_shared_image_name, "fl_shared_image_name"); + pragma Inline (fl_shared_image_name); procedure fl_shared_image_reload (I : in System.Address); pragma Import (C, fl_shared_image_reload, "fl_shared_image_reload"); - - procedure fl_shared_image_uncache - (I : in System.Address); - pragma Import (C, fl_shared_image_uncache, "fl_shared_image_uncache"); + pragma Inline (fl_shared_image_reload); @@ -80,11 +86,13 @@ package body FLTK.Images.Shared is procedure fl_shared_image_scaling_algorithm (A : in Interfaces.C.int); pragma Import (C, fl_shared_image_scaling_algorithm, "fl_shared_image_scaling_algorithm"); + pragma Inline (fl_shared_image_scaling_algorithm); procedure fl_shared_image_scale (I : in System.Address; W, H, P, E : in Interfaces.C.int); pragma Import (C, fl_shared_image_scale, "fl_shared_image_scale"); + pragma Inline (fl_shared_image_scale); @@ -93,11 +101,13 @@ package body FLTK.Images.Shared is (I : in System.Address; X, Y, W, H, CX, CY : in Interfaces.C.int); pragma Import (C, fl_shared_image_draw, "fl_shared_image_draw"); + pragma Inline (fl_shared_image_draw); procedure fl_shared_image_draw2 (I : in System.Address; X, Y : in Interfaces.C.int); pragma Import (C, fl_shared_image_draw2, "fl_shared_image_draw2"); + pragma Inline (fl_shared_image_draw2); @@ -226,13 +236,6 @@ package body FLTK.Images.Shared is end Reload; - procedure Uncache - (This : in out Shared_Image) is - begin - fl_shared_image_uncache (This.Void_Ptr); - end Uncache; - - procedure Set_Scaling_Algorithm diff --git a/src/fltk-images-shared.ads b/src/fltk-images-shared.ads index 9214c8d..a6810f8 100644 --- a/src/fltk-images-shared.ads +++ b/src/fltk-images-shared.ads @@ -10,7 +10,8 @@ package FLTK.Images.Shared is type Shared_Image is new Image with private; - type Scaling_Kind is (Nearest, Bilinear); + type Shared_Image_Reference (Data : not null access Shared_Image'Class) is + limited null record with Implicit_Dereference => Data; @@ -66,9 +67,6 @@ package FLTK.Images.Shared is procedure Reload (This : in out Shared_Image); - procedure Uncache - (This : in out Shared_Image); - @@ -103,5 +101,25 @@ private (This : in out Shared_Image); + + + pragma Inline (Copy); + + + pragma Inline (Color_Average); + pragma Inline (Desaturate); + + + pragma Inline (Name); + pragma Inline (Reload); + + + pragma Inline (Set_Scaling_Algorithm); + pragma Inline (Scale); + + + pragma Inline (Draw); + + end FLTK.Images.Shared; diff --git a/src/fltk-images.adb b/src/fltk-images.adb index 42226e2..008e0b2 100644 --- a/src/fltk-images.adb +++ b/src/fltk-images.adb @@ -18,21 +18,38 @@ package body FLTK.Images is (W, H, D : in Interfaces.C.int) return System.Address; pragma Import (C, new_fl_image, "new_fl_image"); + pragma Inline (new_fl_image); procedure free_fl_image (I : in System.Address); pragma Import (C, free_fl_image, "free_fl_image"); + pragma Inline (free_fl_image); + + + + + function fl_image_get_rgb_scaling + return Interfaces.C.int; + pragma Import (C, fl_image_get_rgb_scaling, "fl_image_get_rgb_scaling"); + pragma Inline (fl_image_get_rgb_scaling); + + procedure fl_image_set_rgb_scaling + (T : in Interfaces.C.int); + pragma Import (C, fl_image_set_rgb_scaling, "fl_image_set_rgb_scaling"); + pragma Inline (fl_image_set_rgb_scaling); function fl_image_copy (I : in System.Address; W, H : in Interfaces.C.int) return System.Address; pragma Import (C, fl_image_copy, "fl_image_copy"); + pragma Inline (fl_image_copy); function fl_image_copy2 (I : in System.Address) return System.Address; pragma Import (C, fl_image_copy2, "fl_image_copy2"); + pragma Inline (fl_image_copy2); @@ -42,10 +59,12 @@ package body FLTK.Images is C : in Interfaces.C.int; B : in Interfaces.C.C_float); pragma Import (C, fl_image_color_average, "fl_image_color_average"); + pragma Inline (fl_image_color_average); procedure fl_image_desaturate (I : in System.Address); pragma Import (C, fl_image_desaturate, "fl_image_desaturate"); + pragma Inline (fl_image_desaturate); @@ -53,6 +72,7 @@ package body FLTK.Images is procedure fl_image_inactive (I : in System.Address); pragma Import (C, fl_image_inactive, "fl_image_inactive"); + pragma Inline (fl_image_inactive); @@ -61,16 +81,19 @@ package body FLTK.Images is (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_image_w, "fl_image_w"); + pragma Inline (fl_image_w); function fl_image_h (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_image_h, "fl_image_h"); + pragma Inline (fl_image_h); function fl_image_d (I : in System.Address) return Interfaces.C.int; pragma Import (C, fl_image_d, "fl_image_d"); + pragma Inline (fl_image_d); @@ -79,16 +102,19 @@ package body FLTK.Images is (I : in System.Address; X, Y : in Interfaces.C.int); pragma Import (C, fl_image_draw, "fl_image_draw"); + pragma Inline (fl_image_draw); procedure fl_image_draw2 (I : in System.Address; X, Y, W, H, CX, CY : in Interfaces.C.int); pragma Import (C, fl_image_draw2, "fl_image_draw2"); + pragma Inline (fl_image_draw2); procedure fl_image_draw_empty (I : in System.Address; X, Y : in Interfaces.C.int); pragma Import (C, fl_image_draw_empty, "fl_image_draw_empty"); + pragma Inline (fl_image_draw_empty); @@ -136,6 +162,20 @@ package body FLTK.Images is + function Get_Copy_Algorithm + return Scaling_Kind is + begin + return Scaling_Kind'Val (fl_image_get_rgb_scaling); + end Get_Copy_Algorithm; + + + procedure Set_Copy_Algorithm + (To : in Scaling_Kind) is + begin + fl_image_set_rgb_scaling (Scaling_Kind'Pos (To)); + end Set_Copy_Algorithm; + + function Copy (This : in Image; Width, Height : in Natural) diff --git a/src/fltk-images.ads b/src/fltk-images.ads index 86ddbdb..053ed19 100644 --- a/src/fltk-images.ads +++ b/src/fltk-images.ads @@ -5,6 +5,11 @@ package FLTK.Images is type Image is new Wrapper with private; + type Image_Reference (Data : not null access Image'Class) is limited null record + with Implicit_Dereference => Data; + + type Scaling_Kind is (Nearest, Bilinear); + type Blend is new Float range 0.0 .. 1.0; No_Image_Error, File_Access_Error, Format_Error : exception; @@ -23,6 +28,12 @@ package FLTK.Images is + function Get_Copy_Algorithm + return Scaling_Kind; + + procedure Set_Copy_Algorithm + (To : in Scaling_Kind); + function Copy (This : in Image; Width, Height : in Natural) @@ -96,6 +107,28 @@ private + pragma Inline (Copy); + + + pragma Inline (Color_Average); + pragma Inline (Desaturate); + + + pragma Inline (Inactive); + pragma Inline (Is_Empty); + + + pragma Inline (Get_W); + pragma Inline (Get_H); + pragma Inline (Get_D); + + + pragma Inline (Draw); + pragma Inline (Draw_Empty); + + + + function fl_image_fail (I : in System.Address) return Interfaces.C.int; diff --git a/src/fltk-widgets-valuators-sliders-fill.adb b/src/fltk-widgets-valuators-sliders-fill.adb index bdd47bf..dfb87dd 100644 --- a/src/fltk-widgets-valuators-sliders-fill.adb +++ b/src/fltk-widgets-valuators-sliders-fill.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Valuators.Sliders.Fill is procedure fill_slider_set_draw_hook (W, D : in System.Address); pragma Import (C, fill_slider_set_draw_hook, "fill_slider_set_draw_hook"); + pragma Inline (fill_slider_set_draw_hook); procedure fill_slider_set_handle_hook (W, H : in System.Address); pragma Import (C, fill_slider_set_handle_hook, "fill_slider_set_handle_hook"); + pragma Inline (fill_slider_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Valuators.Sliders.Fill is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_fill_slider, "new_fl_fill_slider"); + pragma Inline (new_fl_fill_slider); procedure free_fl_fill_slider (D : in System.Address); pragma Import (C, free_fl_fill_slider, "free_fl_fill_slider"); + pragma Inline (free_fl_fill_slider); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Valuators.Sliders.Fill is procedure fl_fill_slider_draw (W : in System.Address); pragma Import (C, fl_fill_slider_draw, "fl_fill_slider_draw"); + pragma Inline (fl_fill_slider_draw); function fl_fill_slider_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_fill_slider_handle, "fl_fill_slider_handle"); + pragma Inline (fl_fill_slider_handle); diff --git a/src/fltk-widgets-valuators-sliders-fill.ads b/src/fltk-widgets-valuators-sliders-fill.ads index cbf2856..115e8da 100644 --- a/src/fltk-widgets-valuators-sliders-fill.ads +++ b/src/fltk-widgets-valuators-sliders-fill.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Valuators.Sliders.Fill is type Fill_Slider is new Slider with private; + type Fill_Slider_Reference (Data : not null access Fill_Slider'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Fill_Slider); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Valuators.Sliders.Fill; diff --git a/src/fltk-widgets-valuators-sliders-hor_fill.adb b/src/fltk-widgets-valuators-sliders-hor_fill.adb index 2ce38d9..7111dd0 100644 --- a/src/fltk-widgets-valuators-sliders-hor_fill.adb +++ b/src/fltk-widgets-valuators-sliders-hor_fill.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Valuators.Sliders.Hor_Fill is procedure hor_fill_slider_set_draw_hook (W, D : in System.Address); pragma Import (C, hor_fill_slider_set_draw_hook, "hor_fill_slider_set_draw_hook"); + pragma Inline (hor_fill_slider_set_draw_hook); procedure hor_fill_slider_set_handle_hook (W, H : in System.Address); pragma Import (C, hor_fill_slider_set_handle_hook, "hor_fill_slider_set_handle_hook"); + pragma Inline (hor_fill_slider_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Valuators.Sliders.Hor_Fill is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_hor_fill_slider, "new_fl_hor_fill_slider"); + pragma Inline (new_fl_hor_fill_slider); procedure free_fl_hor_fill_slider (D : in System.Address); pragma Import (C, free_fl_hor_fill_slider, "free_fl_hor_fill_slider"); + pragma Inline (free_fl_hor_fill_slider); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Valuators.Sliders.Hor_Fill is procedure fl_hor_fill_slider_draw (W : in System.Address); pragma Import (C, fl_hor_fill_slider_draw, "fl_hor_fill_slider_draw"); + pragma Inline (fl_hor_fill_slider_draw); function fl_hor_fill_slider_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_hor_fill_slider_handle, "fl_hor_fill_slider_handle"); + pragma Inline (fl_hor_fill_slider_handle); diff --git a/src/fltk-widgets-valuators-sliders-hor_fill.ads b/src/fltk-widgets-valuators-sliders-hor_fill.ads index fa30a68..06e7ad4 100644 --- a/src/fltk-widgets-valuators-sliders-hor_fill.ads +++ b/src/fltk-widgets-valuators-sliders-hor_fill.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Valuators.Sliders.Hor_Fill is type Hor_Fill_Slider is new Slider with private; + type Hor_Fill_Slider_Reference (Data : not null access Hor_Fill_Slider'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Hor_Fill_Slider); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Valuators.Sliders.Hor_Fill; diff --git a/src/fltk-widgets-valuators-sliders-hor_nice.adb b/src/fltk-widgets-valuators-sliders-hor_nice.adb index 82801e8..0bf91d5 100644 --- a/src/fltk-widgets-valuators-sliders-hor_nice.adb +++ b/src/fltk-widgets-valuators-sliders-hor_nice.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Valuators.Sliders.Hor_Nice is procedure hor_nice_slider_set_draw_hook (W, D : in System.Address); pragma Import (C, hor_nice_slider_set_draw_hook, "hor_nice_slider_set_draw_hook"); + pragma Inline (hor_nice_slider_set_draw_hook); procedure hor_nice_slider_set_handle_hook (W, H : in System.Address); pragma Import (C, hor_nice_slider_set_handle_hook, "hor_nice_slider_set_handle_hook"); + pragma Inline (hor_nice_slider_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Valuators.Sliders.Hor_Nice is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_hor_nice_slider, "new_fl_hor_nice_slider"); + pragma Inline (new_fl_hor_nice_slider); procedure free_fl_hor_nice_slider (D : in System.Address); pragma Import (C, free_fl_hor_nice_slider, "free_fl_hor_nice_slider"); + pragma Inline (free_fl_hor_nice_slider); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Valuators.Sliders.Hor_Nice is procedure fl_hor_nice_slider_draw (W : in System.Address); pragma Import (C, fl_hor_nice_slider_draw, "fl_hor_nice_slider_draw"); + pragma Inline (fl_hor_nice_slider_draw); function fl_hor_nice_slider_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_hor_nice_slider_handle, "fl_hor_nice_slider_handle"); + pragma Inline (fl_hor_nice_slider_handle); diff --git a/src/fltk-widgets-valuators-sliders-hor_nice.ads b/src/fltk-widgets-valuators-sliders-hor_nice.ads index f5b48f7..8a4b593 100644 --- a/src/fltk-widgets-valuators-sliders-hor_nice.ads +++ b/src/fltk-widgets-valuators-sliders-hor_nice.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Valuators.Sliders.Hor_Nice is type Hor_Nice_Slider is new Slider with private; + type Hor_Nice_Slider_Reference (Data : not null access Hor_Nice_Slider'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Hor_Nice_Slider); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Valuators.Sliders.Hor_Nice; diff --git a/src/fltk-widgets-valuators-sliders-horizontal.adb b/src/fltk-widgets-valuators-sliders-horizontal.adb index bee5fc3..2ee7598 100644 --- a/src/fltk-widgets-valuators-sliders-horizontal.adb +++ b/src/fltk-widgets-valuators-sliders-horizontal.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Valuators.Sliders.Horizontal is procedure horizontal_slider_set_draw_hook (W, D : in System.Address); pragma Import (C, horizontal_slider_set_draw_hook, "horizontal_slider_set_draw_hook"); + pragma Inline (horizontal_slider_set_draw_hook); procedure horizontal_slider_set_handle_hook (W, H : in System.Address); pragma Import (C, horizontal_slider_set_handle_hook, "horizontal_slider_set_handle_hook"); + pragma Inline (horizontal_slider_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Valuators.Sliders.Horizontal is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_horizontal_slider, "new_fl_horizontal_slider"); + pragma Inline (new_fl_horizontal_slider); procedure free_fl_horizontal_slider (D : in System.Address); pragma Import (C, free_fl_horizontal_slider, "free_fl_horizontal_slider"); + pragma Inline (free_fl_horizontal_slider); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Valuators.Sliders.Horizontal is procedure fl_horizontal_slider_draw (W : in System.Address); pragma Import (C, fl_horizontal_slider_draw, "fl_horizontal_slider_draw"); + pragma Inline (fl_horizontal_slider_draw); function fl_horizontal_slider_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_horizontal_slider_handle, "fl_horizontal_slider_handle"); + pragma Inline (fl_horizontal_slider_handle); diff --git a/src/fltk-widgets-valuators-sliders-horizontal.ads b/src/fltk-widgets-valuators-sliders-horizontal.ads index 0cb2d5b..8f1b96a 100644 --- a/src/fltk-widgets-valuators-sliders-horizontal.ads +++ b/src/fltk-widgets-valuators-sliders-horizontal.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Valuators.Sliders.Horizontal is type Horizontal_Slider is new Slider with private; + type Horizontal_Slider_Reference (Data : not null access Horizontal_Slider'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Horizontal_Slider); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Valuators.Sliders.Horizontal; diff --git a/src/fltk-widgets-valuators-sliders-nice.adb b/src/fltk-widgets-valuators-sliders-nice.adb index 188103c..2143b8e 100644 --- a/src/fltk-widgets-valuators-sliders-nice.adb +++ b/src/fltk-widgets-valuators-sliders-nice.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Valuators.Sliders.Nice is procedure nice_slider_set_draw_hook (W, D : in System.Address); pragma Import (C, nice_slider_set_draw_hook, "nice_slider_set_draw_hook"); + pragma Inline (nice_slider_set_draw_hook); procedure nice_slider_set_handle_hook (W, H : in System.Address); pragma Import (C, nice_slider_set_handle_hook, "nice_slider_set_handle_hook"); + pragma Inline (nice_slider_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Valuators.Sliders.Nice is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_nice_slider, "new_fl_nice_slider"); + pragma Inline (new_fl_nice_slider); procedure free_fl_nice_slider (D : in System.Address); pragma Import (C, free_fl_nice_slider, "free_fl_nice_slider"); + pragma Inline (free_fl_nice_slider); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Valuators.Sliders.Nice is procedure fl_nice_slider_draw (W : in System.Address); pragma Import (C, fl_nice_slider_draw, "fl_nice_slider_draw"); + pragma Inline (fl_nice_slider_draw); function fl_nice_slider_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_nice_slider_handle, "fl_nice_slider_handle"); + pragma Inline (fl_nice_slider_handle); diff --git a/src/fltk-widgets-valuators-sliders-nice.ads b/src/fltk-widgets-valuators-sliders-nice.ads index 380887f..55a5f04 100644 --- a/src/fltk-widgets-valuators-sliders-nice.ads +++ b/src/fltk-widgets-valuators-sliders-nice.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Valuators.Sliders.Nice is type Nice_Slider is new Slider with private; + type Nice_Slider_Reference (Data : not null access Nice_Slider'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Nice_Slider); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Valuators.Sliders.Nice; diff --git a/src/fltk-widgets-valuators-sliders-scrollbars.adb b/src/fltk-widgets-valuators-sliders-scrollbars.adb index 2fc013f..40f9777 100644 --- a/src/fltk-widgets-valuators-sliders-scrollbars.adb +++ b/src/fltk-widgets-valuators-sliders-scrollbars.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Valuators.Sliders.Scrollbars is procedure scrollbar_set_draw_hook (W, D : in System.Address); pragma Import (C, scrollbar_set_draw_hook, "scrollbar_set_draw_hook"); + pragma Inline (scrollbar_set_draw_hook); procedure scrollbar_set_handle_hook (W, H : in System.Address); pragma Import (C, scrollbar_set_handle_hook, "scrollbar_set_handle_hook"); + pragma Inline (scrollbar_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Valuators.Sliders.Scrollbars is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_scrollbar, "new_fl_scrollbar"); + pragma Inline (new_fl_scrollbar); procedure free_fl_scrollbar (D : in System.Address); pragma Import (C, free_fl_scrollbar, "free_fl_scrollbar"); + pragma Inline (free_fl_scrollbar); @@ -41,26 +45,31 @@ package body FLTK.Widgets.Valuators.Sliders.Scrollbars is (S : in System.Address) return Interfaces.C.int; pragma Import (C, fl_scrollbar_get_linesize, "fl_scrollbar_get_linesize"); + pragma Inline (fl_scrollbar_get_linesize); procedure fl_scrollbar_set_linesize (S : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_scrollbar_set_linesize, "fl_scrollbar_set_linesize"); + pragma Inline (fl_scrollbar_set_linesize); function fl_scrollbar_get_value (S : in System.Address) return Interfaces.C.int; pragma Import (C, fl_scrollbar_get_value, "fl_scrollbar_get_value"); + pragma Inline (fl_scrollbar_get_value); procedure fl_scrollbar_set_value (S : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_scrollbar_set_value, "fl_scrollbar_set_value"); + pragma Inline (fl_scrollbar_set_value); procedure fl_scrollbar_set_value2 (S : in System.Address; P, W, F, T : in Interfaces.C.int); pragma Import (C, fl_scrollbar_set_value2, "fl_scrollbar_set_value2"); + pragma Inline (fl_scrollbar_set_value2); @@ -68,12 +77,14 @@ package body FLTK.Widgets.Valuators.Sliders.Scrollbars is procedure fl_scrollbar_draw (W : in System.Address); pragma Import (C, fl_scrollbar_draw, "fl_scrollbar_draw"); + pragma Inline (fl_scrollbar_draw); function fl_scrollbar_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_scrollbar_handle, "fl_scrollbar_handle"); + pragma Inline (fl_scrollbar_handle); diff --git a/src/fltk-widgets-valuators-sliders-scrollbars.ads b/src/fltk-widgets-valuators-sliders-scrollbars.ads index 9b229b6..c69aa4b 100644 --- a/src/fltk-widgets-valuators-sliders-scrollbars.ads +++ b/src/fltk-widgets-valuators-sliders-scrollbars.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Valuators.Sliders.Scrollbars is type Scrollbar is new Slider with private; + type Scrollbar_Reference (Data : not null access Scrollbar'Class) is + limited null record with Implicit_Dereference => Data; + @@ -64,5 +67,18 @@ private (This : in out Scrollbar); + + + pragma Inline (Get_Line_Size); + pragma Inline (Set_Line_Size); + pragma Inline (Get_Position); + pragma Inline (Set_Position); + pragma Inline (Set_All); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Valuators.Sliders.Scrollbars; diff --git a/src/fltk-widgets-valuators-sliders-value-horizontal.adb b/src/fltk-widgets-valuators-sliders-value-horizontal.adb index 77b9fd6..fb40674 100644 --- a/src/fltk-widgets-valuators-sliders-value-horizontal.adb +++ b/src/fltk-widgets-valuators-sliders-value-horizontal.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Valuators.Sliders.Value.Horizontal is procedure hor_value_slider_set_draw_hook (W, D : in System.Address); pragma Import (C, hor_value_slider_set_draw_hook, "hor_value_slider_set_draw_hook"); + pragma Inline (hor_value_slider_set_draw_hook); procedure hor_value_slider_set_handle_hook (W, H : in System.Address); pragma Import (C, hor_value_slider_set_handle_hook, "hor_value_slider_set_handle_hook"); + pragma Inline (hor_value_slider_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Valuators.Sliders.Value.Horizontal is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_hor_value_slider, "new_fl_hor_value_slider"); + pragma Inline (new_fl_hor_value_slider); procedure free_fl_hor_value_slider (D : in System.Address); pragma Import (C, free_fl_hor_value_slider, "free_fl_hor_value_slider"); + pragma Inline (free_fl_hor_value_slider); @@ -40,12 +44,14 @@ package body FLTK.Widgets.Valuators.Sliders.Value.Horizontal is procedure fl_hor_value_slider_draw (W : in System.Address); pragma Import (C, fl_hor_value_slider_draw, "fl_hor_value_slider_draw"); + pragma Inline (fl_hor_value_slider_draw); function fl_hor_value_slider_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_hor_value_slider_handle, "fl_hor_value_slider_handle"); + pragma Inline (fl_hor_value_slider_handle); diff --git a/src/fltk-widgets-valuators-sliders-value-horizontal.ads b/src/fltk-widgets-valuators-sliders-value-horizontal.ads index 3b05627..2bdb8ea 100644 --- a/src/fltk-widgets-valuators-sliders-value-horizontal.ads +++ b/src/fltk-widgets-valuators-sliders-value-horizontal.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Valuators.Sliders.Value.Horizontal is type Hor_Value_Slider is new Value_Slider with private; + type Hor_Value_Slider_Reference (Data : not null access Hor_Value_Slider'Class) is + limited null record with Implicit_Dereference => Data; + @@ -38,5 +41,11 @@ private (This : in out Hor_Value_Slider); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Valuators.Sliders.Value.Horizontal; diff --git a/src/fltk-widgets-valuators-sliders-value.adb b/src/fltk-widgets-valuators-sliders-value.adb index 584aca6..fa8756f 100644 --- a/src/fltk-widgets-valuators-sliders-value.adb +++ b/src/fltk-widgets-valuators-sliders-value.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Valuators.Sliders.Value is procedure value_slider_set_draw_hook (W, D : in System.Address); pragma Import (C, value_slider_set_draw_hook, "value_slider_set_draw_hook"); + pragma Inline (value_slider_set_draw_hook); procedure value_slider_set_handle_hook (W, H : in System.Address); pragma Import (C, value_slider_set_handle_hook, "value_slider_set_handle_hook"); + pragma Inline (value_slider_set_handle_hook); @@ -29,10 +31,12 @@ package body FLTK.Widgets.Valuators.Sliders.Value is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_value_slider, "new_fl_value_slider"); + pragma Inline (new_fl_value_slider); procedure free_fl_value_slider (D : in System.Address); pragma Import (C, free_fl_value_slider, "free_fl_value_slider"); + pragma Inline (free_fl_value_slider); @@ -41,31 +45,37 @@ package body FLTK.Widgets.Valuators.Sliders.Value is (S : in System.Address) return Interfaces.C.unsigned; pragma Import (C, fl_value_slider_get_textcolor, "fl_value_slider_get_textcolor"); + pragma Inline (fl_value_slider_get_textcolor); procedure fl_value_slider_set_textcolor (S : in System.Address; C : in Interfaces.C.unsigned); pragma Import (C, fl_value_slider_set_textcolor, "fl_value_slider_set_textcolor"); + pragma Inline (fl_value_slider_set_textcolor); function fl_value_slider_get_textfont (S : in System.Address) return Interfaces.C.int; pragma Import (C, fl_value_slider_get_textfont, "fl_value_slider_get_textfont"); + pragma Inline (fl_value_slider_get_textfont); procedure fl_value_slider_set_textfont (S : in System.Address; F : in Interfaces.C.int); pragma Import (C, fl_value_slider_set_textfont, "fl_value_slider_set_textfont"); + pragma Inline (fl_value_slider_set_textfont); function fl_value_slider_get_textsize (S : in System.Address) return Interfaces.C.int; pragma Import (C, fl_value_slider_get_textsize, "fl_value_slider_get_textsize"); + pragma Inline (fl_value_slider_get_textsize); procedure fl_value_slider_set_textsize (S : in System.Address; F : in Interfaces.C.int); pragma Import (C, fl_value_slider_set_textsize, "fl_value_slider_set_textsize"); + pragma Inline (fl_value_slider_set_textsize); @@ -73,12 +83,14 @@ package body FLTK.Widgets.Valuators.Sliders.Value is procedure fl_value_slider_draw (W : in System.Address); pragma Import (C, fl_value_slider_draw, "fl_value_slider_draw"); + pragma Inline (fl_value_slider_draw); function fl_value_slider_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_value_slider_handle, "fl_value_slider_handle"); + pragma Inline (fl_value_slider_handle); diff --git a/src/fltk-widgets-valuators-sliders-value.ads b/src/fltk-widgets-valuators-sliders-value.ads index f3ac1c3..fbbf717 100644 --- a/src/fltk-widgets-valuators-sliders-value.ads +++ b/src/fltk-widgets-valuators-sliders-value.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Valuators.Sliders.Value is type Value_Slider is new Slider with private; + type Value_Slider_Reference (Data : not null access Value_Slider'Class) is + limited null record with Implicit_Dereference => Data; + @@ -65,5 +68,19 @@ private (This : in out Value_Slider); + + + pragma Inline (Get_Text_Color); + pragma Inline (Set_Text_Color); + pragma Inline (Get_Text_Font); + pragma Inline (Set_Text_Font); + pragma Inline (Get_Text_Size); + pragma Inline (Set_Text_Size); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Valuators.Sliders.Value; diff --git a/src/fltk-widgets-valuators-sliders.adb b/src/fltk-widgets-valuators-sliders.adb index 752a5aa..01baf1c 100644 --- a/src/fltk-widgets-valuators-sliders.adb +++ b/src/fltk-widgets-valuators-sliders.adb @@ -16,10 +16,12 @@ package body FLTK.Widgets.Valuators.Sliders is procedure slider_set_draw_hook (W, D : in System.Address); pragma Import (C, slider_set_draw_hook, "slider_set_draw_hook"); + pragma Inline (slider_set_draw_hook); procedure slider_set_handle_hook (W, H : in System.Address); pragma Import (C, slider_set_handle_hook, "slider_set_handle_hook"); + pragma Inline (slider_set_handle_hook); @@ -29,10 +31,27 @@ package body FLTK.Widgets.Valuators.Sliders is Text : in Interfaces.C.char_array) return System.Address; pragma Import (C, new_fl_slider, "new_fl_slider"); + pragma Inline (new_fl_slider); procedure free_fl_slider (D : in System.Address); pragma Import (C, free_fl_slider, "free_fl_slider"); + pragma Inline (free_fl_slider); + + + + + function fl_slider_get_type + (S : in System.Address) + return Interfaces.C.int; + pragma Import (C, fl_slider_get_type, "fl_slider_get_type"); + pragma Inline (fl_slider_get_type); + + procedure fl_slider_set_type + (S : in System.Address; + T : in Interfaces.C.int); + pragma Import (C, fl_slider_set_type, "fl_slider_set_type"); + pragma Inline (fl_slider_set_type); @@ -41,32 +60,38 @@ package body FLTK.Widgets.Valuators.Sliders is (S : in System.Address; A, B : in Interfaces.C.double); pragma Import (C, fl_slider_set_bounds, "fl_slider_set_bounds"); + pragma Inline (fl_slider_set_bounds); function fl_slider_get_slider (S : in System.Address) return Interfaces.C.int; pragma Import (C, fl_slider_get_slider, "fl_slider_get_slider"); + pragma Inline (fl_slider_get_slider); procedure fl_slider_set_slider (S : in System.Address; T : in Interfaces.C.int); pragma Import (C, fl_slider_set_slider, "fl_slider_set_slider"); + pragma Inline (fl_slider_set_slider); function fl_slider_get_slider_size (S : in System.Address) return Interfaces.C.C_float; pragma Import (C, fl_slider_get_slider_size, "fl_slider_get_slider_size"); + pragma Inline (fl_slider_get_slider_size); procedure fl_slider_set_slider_size (S : in System.Address; T : in Interfaces.C.C_float); pragma Import (C, fl_slider_set_slider_size, "fl_slider_set_slider_size"); + pragma Inline (fl_slider_set_slider_size); function fl_slider_scrollvalue (S : in System.Address; P, Z, F, T : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_slider_scrollvalue, "fl_slider_scrollvalue"); + pragma Inline (fl_slider_scrollvalue); @@ -74,12 +99,14 @@ package body FLTK.Widgets.Valuators.Sliders is procedure fl_slider_draw (W : in System.Address); pragma Import (C, fl_slider_draw, "fl_slider_draw"); + pragma Inline (fl_slider_draw); function fl_slider_handle (W : in System.Address; E : in Interfaces.C.int) return Interfaces.C.int; pragma Import (C, fl_slider_handle, "fl_slider_handle"); + pragma Inline (fl_slider_handle); @@ -126,14 +153,22 @@ package body FLTK.Widgets.Valuators.Sliders is + function Get_Slider_Type + (This : in Slider) + return Slider_Kind is + begin + return Slider_Kind'Val (fl_slider_get_type (This.Void_Ptr)); + end Get_Slider_Type; + + procedure Set_Bounds - (This : in out Slider; - A, B : in Long_Float) is + (This : in out Slider; + Min, Max : in Long_Float) is begin fl_slider_set_bounds (This.Void_Ptr, - Interfaces.C.double (A), - Interfaces.C.double (B)); + Interfaces.C.double (Min), + Interfaces.C.double (Max)); end Set_Bounds; @@ -206,5 +241,21 @@ package body FLTK.Widgets.Valuators.Sliders is end Handle; + + + package body Extra is + + procedure Set_Slider_Type + (This : in out Slider; + To : in Slider_Kind) is + begin + fl_slider_set_type (This.Void_Ptr, Slider_Kind'Pos (To)); + end Set_Slider_Type; + + pragma Inline (Set_Slider_Type); + + end Extra; + + end FLTK.Widgets.Valuators.Sliders; diff --git a/src/fltk-widgets-valuators-sliders.ads b/src/fltk-widgets-valuators-sliders.ads index fda69d2..77ad933 100644 --- a/src/fltk-widgets-valuators-sliders.ads +++ b/src/fltk-widgets-valuators-sliders.ads @@ -5,6 +5,14 @@ package FLTK.Widgets.Valuators.Sliders is type Slider is new Valuator with private; + type Slider_Reference (Data : not null access Slider'Class) is limited null record + with Implicit_Dereference => Data; + + type Slider_Kind is + (Vertical_Kind, Horizontal_Kind, + Vert_Fill_Kind, Hor_Fill_Kind, + Vert_Nice_Kind, Hor_Nice_Kind); + @@ -20,9 +28,13 @@ package FLTK.Widgets.Valuators.Sliders is + function Get_Slider_Type + (This : in Slider) + return Slider_Kind; + procedure Set_Bounds - (This : in out Slider; - A, B : in Long_Float); + (This : in out Slider; + Min, Max : in Long_Float); function Get_Box (This : in Slider) @@ -59,6 +71,17 @@ package FLTK.Widgets.Valuators.Sliders is return Event_Outcome; + + + package Extra is + + procedure Set_Slider_Type + (This : in out Slider; + To : in Slider_Kind); + + end Extra; + + private @@ -68,5 +91,20 @@ private (This : in out Slider); + + + pragma Inline (Get_Slider_Type); + pragma Inline (Set_Bounds); + pragma Inline (Get_Box); + pragma Inline (Set_Box); + pragma Inline (Get_Slide_Size); + pragma Inline (Set_Slide_Size); + pragma Inline (Set_Scrollvalue); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Valuators.Sliders; |