| 
							- //
 - // "$Id: symbols.cxx 7903 2010-11-28 21:06:39Z matt $"
 - //
 - // Symbol test program for the Fast Light Tool Kit (FLTK).
 - //
 - // Copyright 1998-2010 by Bill Spitzak and others.
 - //
 - // This library is free software; you can redistribute it and/or
 - // modify it under the terms of the GNU Library General Public
 - // License as published by the Free Software Foundation; either
 - // version 2 of the License, or (at your option) any later version.
 - //
 - // This library is distributed in the hope that it will be useful,
 - // but WITHOUT ANY WARRANTY; without even the implied warranty of
 - // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 - // Library General Public License for more details.
 - //
 - // You should have received a copy of the GNU Library General Public
 - // License along with this library; if not, write to the Free Software
 - // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 - // USA.
 - //
 - // Please report all bugs and problems on the following page:
 - //
 - //     http://www.fltk.org/str.php
 - //
 - 
 - #include <stdio.h>
 - #include <stdlib.h>
 - #include <string.h>
 - #include <ctype.h>
 - #include <FL/Fl.H>
 - #include <FL/Fl_Double_Window.H>
 - #include <FL/Fl_Box.H>
 - #include <FL/Fl_Value_Slider.H>
 - #include <FL/fl_draw.H>
 - 
 - int N = 0;
 - #define W 70
 - #define H 70
 - #define ROWS 6
 - #define COLS 6
 - 
 - Fl_Double_Window *window;
 - Fl_Value_Slider *orientation;
 - Fl_Value_Slider *size;
 - 
 - void slider_cb(Fl_Widget *, void *) {
 -   static char buf[80];
 -   int val = (int)orientation->value();
 -   int sze = (int)size->value();
 -   for (int i = window->children(); i--; ) {          // all window children
 -     Fl_Widget *wc = window->child(i);
 -     const char *l = (const char *)(wc->user_data());
 -     if ( l && *l == '@' ) {                       // all children with '@'
 -       l ++;
 -       if ( wc->box() == FL_NO_BOX ) {             // ascii legend?
 -         if (val&&sze) sprintf(buf, "@@%+d%d%s", sze, val, l);
 -         else if (val) sprintf(buf, "@@%d%s", val, l);
 -         else if (sze) sprintf(buf, "@@%+d%s", sze, l);
 -         else          sprintf(buf, "@@%s", l);
 -       } else {                                    // box with symbol
 -         if (val&&sze) sprintf(buf, "@%+d%d%s", sze, val, l);
 -         else if (val) sprintf(buf, "@%d%s", val, l);
 -         else if (sze) sprintf(buf, "@%+d%s", sze, l);
 -         else          sprintf(buf, "@%s", l);
 -       }
 -       wc->copy_label(buf);
 -     }
 -   }
 -   window->redraw();
 - }
 - 
 - void bt(const char *name) {
 -   int x = N%COLS;
 -   int y = N/COLS;
 -   char buf[255];
 -   N++;
 -   x = x*W+10;
 -   y = y*H+10;
 -   sprintf(buf, "@%s", name);
 -   Fl_Box *a = new Fl_Box(x,y,W-20,H-20);
 -   a->box(FL_NO_BOX);
 -   a->copy_label(buf);
 -   a->align(FL_ALIGN_BOTTOM);
 -   a->labelsize(11);
 -   a->user_data((void *)name);
 -   Fl_Box *b = new Fl_Box(x,y,W-20,H-20);
 -   b->box(FL_UP_BOX);
 -   b->copy_label(name);
 -   b->labelcolor(FL_DARK3);
 -   b->user_data((void *)name);
 - }
 - 
 - int main(int argc, char ** argv) {
 -   window = new Fl_Double_Window(COLS*W,ROWS*H+60);
 - bt("@->");
 - bt("@>");
 - bt("@>>");
 - bt("@>|");
 - bt("@>[]");
 - bt("@|>");
 - bt("@<-");
 - bt("@<");
 - bt("@<<");
 - bt("@|<");
 - bt("@[]<");
 - bt("@<|");
 - bt("@<->");
 - bt("@-->");
 - bt("@+");
 - bt("@->|");
 - bt("@||");
 - bt("@arrow");
 - bt("@returnarrow");
 - bt("@square");
 - bt("@circle");
 - bt("@line");
 - bt("@menu");
 - bt("@UpArrow");
 - bt("@DnArrow");
 - bt("@search");
 - bt("@FLTK");
 - bt("@filenew");
 - bt("@fileopen");
 - bt("@filesave");
 - bt("@filesaveas");
 - bt("@fileprint");
 - bt("@refresh");
 - bt("@reload");
 - bt("@undo");
 - bt("@redo");
 - 
 -   orientation = new Fl_Value_Slider(
 -     (int)(window->w()*.05+.5), window->h()-40,
 -     (int)(window->w()*.42+.5), 16, "Orientation");
 -   orientation->type(FL_HORIZONTAL);
 -   orientation->range(0.0, 9.0);
 -   orientation->value(0.0);
 -   orientation->step(1);
 -   orientation->callback(slider_cb, 0);
 - 
 -   size = new Fl_Value_Slider(
 -     (int)(window->w()*.53+.5), window->h()-40,
 -     (int)(window->w()*.42+.5), 16, "Size");
 -   size->type(FL_HORIZONTAL);
 -   size->range(-3.0, 9.0);
 -   size->value(0.0);
 -   size->step(1);
 -   size->callback(slider_cb, 0);
 - 
 -   window->resizable(window);
 -   window->show(argc,argv);
 -   return Fl::run();
 - }
 - 
 - //
 - // End of "$Id: symbols.cxx 7903 2010-11-28 21:06:39Z matt $".
 - //
 
 
  |