diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2005-06-01 13:41:01 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2005-06-01 13:41:01 +0000 |
| commit | daa8f533973c796a765773d02e09cb3c201cde4b (patch) | |
| tree | 65960d6a21e97491bad6ef608b4f7794258d07ac | |
| parent | 510545879b34a8b7c9ebc9839e9268bb9df0cfd4 (diff) | |
Added a symbol named 'recycle' that can be used to refresh directory listings, etc.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4390 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | src/fl_symbols.cxx | 34 | ||||
| -rw-r--r-- | test/symbols.cxx | 5 |
2 files changed, 37 insertions, 2 deletions
diff --git a/src/fl_symbols.cxx b/src/fl_symbols.cxx index 42880704b..02f3fe2ed 100644 --- a/src/fl_symbols.cxx +++ b/src/fl_symbols.cxx @@ -36,6 +36,7 @@ #include <FL/Fl.H> #include <FL/fl_draw.H> +#include <FL/math.h> #include "flstring.h" typedef struct { @@ -575,6 +576,38 @@ static void draw_fileprint(Fl_Color c) { EC; } +static void draw_recycle(Fl_Color c) { + double i, r, di=5.0, dr1=0.005, dr2=0.015; + int j; + for (j=0; j<4; j++) { + fl_rotate(180.0); + if (j&2) { + fl_color(c); + set_outline_color(c); + BC; + } else { + fl_color(c); + BCP; + } + vv(-0.1, 0.0); + vv(-1.0, 0.0); + vv(-1.0, 0.9); + for (i=135.0, r=1.0; i>=0.0; i-=di, r-=dr1) { + double a = i/180.0 * M_PI; + vv(cos(a)*r, sin(a)*r); + } + for (i=0.0; i<=135.0; i+=di, r-=dr2) { + double a = i/180.0 * M_PI; + vv(cos(a)*r, sin(a)*r); + } + if (j&2) { + EC; + } else { + ECP; + } + } +} + static void fl_init_symbols(void) { static char beenhere; if (beenhere) return; @@ -616,6 +649,7 @@ static void fl_init_symbols(void) { fl_add_symbol("filesave", draw_filesave, 1); fl_add_symbol("filesaveas", draw_filesaveas, 1); fl_add_symbol("fileprint", draw_fileprint, 1); + fl_add_symbol("recycle", draw_recycle, 1); // fl_add_symbol("file", draw_file, 1); } diff --git a/test/symbols.cxx b/test/symbols.cxx index 4962b36cf..5b66c08d8 100644 --- a/test/symbols.cxx +++ b/test/symbols.cxx @@ -38,8 +38,8 @@ int N = 0; #define W 70 #define H 70 -#define ROWS 8 -#define COLS 4 +#define ROWS 6 +#define COLS 6 Fl_Window *window; Fl_Value_Slider *orientation; @@ -126,6 +126,7 @@ bt("@fileopen"); bt("@filesave"); bt("@filesaveas"); bt("@fileprint"); +bt("@recycle"); orientation = new Fl_Value_Slider( (int)(window->w()*.05+.5), window->h()-40, |
