summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAaron M. Ucko <ucko@debian.org>2007-05-20 00:36:27 +0000
committerAaron M. Ucko <ucko@debian.org>2007-05-20 00:36:27 +0000
commit9b5d5801c27165ad47245acb580f30b8ce2d20b4 (patch)
treee9c2997f9ae1c0867ff889d281cf754c18b5dba3 /test
parenta7324bb0c2a26bb02be3362dff2126dc6c6af3a4 (diff)
[svn-upgrade] Integrating new upstream version, fltk1.1 (1.1.8~r5840)
Diffstat (limited to 'test')
-rw-r--r--test/CubeMain.cxx4
-rw-r--r--test/CubeView.cxx8
-rw-r--r--test/CubeView.h4
-rw-r--r--test/CubeViewUI.fl10
-rw-r--r--test/Makefile168
-rw-r--r--test/adjuster.cxx4
-rwxr-xr-xtest/arc.cxx4
-rw-r--r--test/ask.cxx8
-rw-r--r--test/bitmap.cxx4
-rw-r--r--test/blocks.app/Contents/Info.plist44
-rw-r--r--test/blocks.app/Contents/PkgInfo1
-rw-r--r--test/blocks.app/Contents/Resources/blocks.icnsbin0 -> 51049 bytes
-rw-r--r--test/blocks.cxx1007
-rw-r--r--test/boxtype.cxx27
-rw-r--r--test/browser.cxx4
-rw-r--r--test/button.cxx4
-rw-r--r--test/buttons.cxx4
-rw-r--r--test/checkers.cxx38
-rw-r--r--test/clock.cxx4
-rw-r--r--test/colbrowser.cxx4
-rw-r--r--test/color_chooser.cxx4
-rw-r--r--test/connect.cxx4
-rw-r--r--test/cube.cxx4
-rw-r--r--test/cursor.cxx6
-rw-r--r--test/curve.cxx4
-rw-r--r--test/demo.cxx65
-rw-r--r--test/demo.menu1
-rw-r--r--test/desktop/blocks-128.pngbin0 -> 16233 bytes
-rw-r--r--test/desktop/blocks-32.pngbin0 -> 1856 bytes
-rw-r--r--test/desktop/blocks.desktop10
-rw-r--r--test/desktop/checkers-128.png (renamed from test/checkers-128.png)bin23655 -> 23655 bytes
-rw-r--r--test/desktop/checkers-32.png (renamed from test/checkers-32.png)bin1871 -> 1871 bytes
-rw-r--r--test/desktop/checkers.desktop (renamed from test/checkers.desktop)0
-rw-r--r--test/desktop/sudoku-128.png (renamed from test/sudoku-128.png)bin6514 -> 6514 bytes
-rw-r--r--test/desktop/sudoku-32.png (renamed from test/sudoku-32.png)bin295 -> 295 bytes
-rw-r--r--test/desktop/sudoku.desktop (renamed from test/sudoku.desktop)0
-rw-r--r--test/doublebuffer.cxx4
-rw-r--r--test/editor.cxx6
-rw-r--r--test/file_chooser.cxx4
-rw-r--r--test/fl_jpeg_image.cxx4
-rw-r--r--test/fonts.cxx4
-rw-r--r--test/forms.cxx6
-rw-r--r--test/fractals.cxx18
-rw-r--r--test/fracviewer.cxx6
-rw-r--r--test/fullscreen.cxx4
-rw-r--r--test/gl_overlay.cxx4
-rw-r--r--test/glpuzzle.cxx12
-rw-r--r--test/hello.cxx7
-rw-r--r--test/help.cxx4
-rw-r--r--test/iconize.cxx4
-rw-r--r--test/image.cxx4
-rw-r--r--test/input.cxx6
-rw-r--r--test/input_choice.cxx7
-rw-r--r--test/keyboard.cxx29
-rw-r--r--test/keyboard.h4
-rw-r--r--test/label.cxx4
-rw-r--r--test/line_style.cxx12
-rw-r--r--test/list_visuals.cxx4
-rw-r--r--test/makedepend749
-rw-r--r--test/mandelbrot.cxx4
-rw-r--r--test/mandelbrot.h4
-rw-r--r--test/mandelbrot_ui.fl13
-rw-r--r--test/menubar.cxx6
-rw-r--r--test/message.cxx15
-rw-r--r--test/minimum.cxx4
-rw-r--r--test/navigation.cxx4
-rw-r--r--test/output.cxx4
-rw-r--r--test/overlay.cxx4
-rw-r--r--test/pack.cxx4
-rw-r--r--test/pixmap.cxx6
-rw-r--r--test/pixmap_browser.cxx4
-rw-r--r--test/pixmaps/black_1.xbm (renamed from test/black_1.xbm)0
-rw-r--r--test/pixmaps/black_2.xbm (renamed from test/black_2.xbm)0
-rw-r--r--test/pixmaps/black_3.xbm (renamed from test/black_3.xbm)0
-rw-r--r--test/pixmaps/black_4.xbm (renamed from test/black_4.xbm)0
-rw-r--r--test/pixmaps/blackking_1.xbm (renamed from test/blackking_1.xbm)0
-rw-r--r--test/pixmaps/blackking_2.xbm (renamed from test/blackking_2.xbm)0
-rw-r--r--test/pixmaps/blackking_3.xbm (renamed from test/blackking_3.xbm)0
-rw-r--r--test/pixmaps/blackking_4.xbm (renamed from test/blackking_4.xbm)0
-rw-r--r--test/pixmaps/blast.xpm67
-rw-r--r--test/pixmaps/block.xcf.gzbin0 -> 2905 bytes
-rw-r--r--test/pixmaps/blue.xpm67
-rw-r--r--test/pixmaps/blue_bomb.xpm67
-rw-r--r--test/pixmaps/cyan.xpm67
-rw-r--r--test/pixmaps/cyan_bomb.xpm67
-rw-r--r--test/pixmaps/gray.xpm67
-rw-r--r--test/pixmaps/gray_bomb.xpm67
-rw-r--r--test/pixmaps/green.xpm67
-rw-r--r--test/pixmaps/green_bomb.xpm67
-rw-r--r--test/pixmaps/magenta.xpm67
-rw-r--r--test/pixmaps/magenta_bomb.xpm67
-rw-r--r--test/pixmaps/porsche.xpm (renamed from test/porsche.xpm)0
-rw-r--r--test/pixmaps/porsche1.xpm (renamed from test/porsche1.xpm)2
-rw-r--r--test/pixmaps/red.xpm67
-rw-r--r--test/pixmaps/red_bomb.xpm67
-rw-r--r--test/pixmaps/srs.xbm (renamed from test/srs.xbm)0
-rw-r--r--test/pixmaps/sudoku.xbm (renamed from test/sudoku.xbm)0
-rw-r--r--test/pixmaps/tile.xpm (renamed from test/tile.xpm)0
-rw-r--r--test/pixmaps/white_1.xbm (renamed from test/white_1.xbm)0
-rw-r--r--test/pixmaps/white_2.xbm (renamed from test/white_2.xbm)0
-rw-r--r--test/pixmaps/white_3.xbm (renamed from test/white_3.xbm)0
-rw-r--r--test/pixmaps/white_4.xbm (renamed from test/white_4.xbm)0
-rw-r--r--test/pixmaps/whiteking_1.xbm (renamed from test/whiteking_1.xbm)0
-rw-r--r--test/pixmaps/whiteking_2.xbm (renamed from test/whiteking_2.xbm)0
-rw-r--r--test/pixmaps/whiteking_3.xbm (renamed from test/whiteking_3.xbm)0
-rw-r--r--test/pixmaps/whiteking_4.xbm (renamed from test/whiteking_4.xbm)0
-rw-r--r--test/pixmaps/yellow.xpm67
-rw-r--r--test/pixmaps/yellow_bomb.xpm67
-rw-r--r--test/preferences.fl12
-rw-r--r--test/resizebox.cxx4
-rw-r--r--test/scroll.cxx8
-rw-r--r--test/shape.cxx4
-rw-r--r--test/subwindow.cxx4
-rw-r--r--test/sudoku.cxx138
-rw-r--r--test/sudokurc.h32
-rw-r--r--test/symbols.cxx6
-rw-r--r--test/tabs.fl220
-rw-r--r--test/threads.cxx53
-rw-r--r--test/threads.h4
-rwxr-xr-xtest/tile.cxx4
-rw-r--r--test/tiled_image.cxx9
-rw-r--r--test/unittests.cxx4
-rw-r--r--test/valuators.fl144
123 files changed, 3282 insertions, 798 deletions
diff --git a/test/CubeMain.cxx b/test/CubeMain.cxx
index 9d6c583..a660c9a 100644
--- a/test/CubeMain.cxx
+++ b/test/CubeMain.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: CubeMain.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: CubeMain.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// CubeView class definitions for the Fast Light Tool Kit (FLTK).
//
@@ -45,5 +45,5 @@ main(int argc, char **argv) {
//
-// End of "$Id: CubeMain.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: CubeMain.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/CubeView.cxx b/test/CubeView.cxx
index c16dbb6..7032b0d 100644
--- a/test/CubeView.cxx
+++ b/test/CubeView.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: CubeView.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: CubeView.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// CubeView class implementation for the Fast Light Tool Kit (FLTK).
//
@@ -40,8 +40,8 @@ CubeView::CubeView(int x,int y,int w,int h,const char *l)
vAng = 0.0;
hAng=0.0;
size=10.0;
- xshift=0.0;
- yshift=0.0;
+ xshift=0.0;
+ yshift=0.0;
/* The cube definition. These are the vertices of a unit cube
* centered on the origin.*/
@@ -169,5 +169,5 @@ void CubeView::draw() {
#endif /* HAVE_GL */
//
-// End of "$Id: CubeView.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: CubeView.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/CubeView.h b/test/CubeView.h
index 3efb34f..b88bedd 100644
--- a/test/CubeView.h
+++ b/test/CubeView.h
@@ -1,5 +1,5 @@
//
-// "$Id: CubeView.h 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: CubeView.h 5519 2006-10-11 03:12:15Z mike $"
//
// CubeView class definitions for the Fast Light Tool Kit (FLTK).
//
@@ -120,5 +120,5 @@ private:
#endif
//
-// End of "$Id: CubeView.h 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: CubeView.h 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/CubeViewUI.fl b/test/CubeViewUI.fl
index b742e21..da8e196 100644
--- a/test/CubeViewUI.fl
+++ b/test/CubeViewUI.fl
@@ -1,5 +1,5 @@
# data file for the Fltk User Interface Designer (fluid)
-version 1.0100
+version 1.0108
header_name {.h}
code_name {.cxx}
class CubeViewUI {open
@@ -7,7 +7,7 @@ class CubeViewUI {open
Function {CubeViewUI()} {open
} {
Fl_Window mainWindow {
- label CubeView open selected
+ label CubeView open
private xywh {428 124 415 405} type Double box UP_BOX labelsize 12 resizable visible
} {
Fl_Group {} {open
@@ -47,14 +47,14 @@ cube->redraw();}
}
}
Fl_Group MainView {open
- xywh {46 27 333 333}
+ xywh {46 27 333 333} resizable
} {
Fl_Box cframe {
xywh {46 27 333 333} box DOWN_FRAME color 4 selection_color 69
}
Fl_Box cube {
- label {This is the cube_view}
- xywh {48 29 329 329} align 16
+ label {This is the cube_view} selected
+ xywh {48 29 329 329} align 16 resizable
code0 {\#include "CubeView.h"}
class CubeView
}
diff --git a/test/Makefile b/test/Makefile
index 5bf7965..1d182c8 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -1,9 +1,9 @@
#
-# "$Id: Makefile 4756 2006-01-15 18:36:16Z mike $"
+# "$Id: Makefile 5792 2007-05-01 20:22:59Z matt $"
#
# Test/example program makefile for the Fast Light Tool Kit (FLTK).
#
-# Copyright 1998-2006 by Bill Spitzak and others.
+# Copyright 1998-2007 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
@@ -33,6 +33,7 @@ CPPFILES =\
arc.cxx \
ask.cxx \
bitmap.cxx \
+ blocks.cxx \
boxtype.cxx \
browser.cxx \
button.cxx \
@@ -99,6 +100,7 @@ ALL = \
arc$(EXEEXT) \
ask$(EXEEXT) \
bitmap$(EXEEXT) \
+ blocks$(EXEEXT) \
boxtype$(EXEEXT) \
browser$(EXEEXT) \
button$(EXEEXT) \
@@ -171,42 +173,59 @@ depend: $(CPPFILES)
include makedepend
clean:
- -$(RM) $(ALL) $(GLALL) core
- -$(RM) *.o core.* *~ *.bck *.bak
-
-install:
+ $(RM) $(ALL) $(GLALL) core
+ $(RM) *.o core.* *~ *.bck *.bak
+ $(RM) CubeViewUI.cxx
+ $(RM) fast_slow.cxx
+ $(RM) inactive.cxx
+ $(RM) keyboard_ui.cxx
+ $(RM) mandelbrot_ui.cxx
+ $(RM) preferences.cxx
+ $(RM) radio.cxx
+ $(RM) resize.cxx
+ $(RM) tabs.cxx
+ $(RM) valuators.cxx
+ $(RM) blocks.app/Contents/MacOS/blocks
+ $(RM) checkers.app/Contents/MacOS/checkers
+ $(RM) sudoku.app/Contents/MacOS/sudoku
+
+install: all
echo "Installing example programs to $(DESTDIR)$(docdir)/examples..."
- -$(MKDIR) $(DESTDIR)$(docdir)/examples
- $(CP) *.h *.cxx *.fl demo.menu *.xbm *.xpm $(DESTDIR)$(docdir)/examples
- $(CHMOD) 644 $(DESTDIR)$(docdir)/examples/*.*
+ -$(INSTALL_DIR) $(DESTDIR)$(docdir)/examples
+ for file in *.h *.cxx *.fl demo.menu; do \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/examples; \
+ done
+ -$(INSTALL_DIR) $(DESTDIR)$(docdir)/examples/pixmaps
+ for file in pixmaps/*.xbm pixmaps/*.xpm; do \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/examples/pixmaps; \
+ done
install-linux:
echo Installing games to $(DESTDIR)$(bindir)...
- -$(MKDIR) $(DESTDIR)$(bindir)
- -$(MKDIR) $(DESTDIR)/usr/share/applnk/Games
- -$(MKDIR) $(DESTDIR)/usr/share/icons/hicolor/32x32/apps
- -$(MKDIR) $(DESTDIR)/usr/share/icons/hicolor/128x128/apps
- for game in checkers sudoku; do \
- $(CP) $$game $(DESTDIR)$(bindir); \
- $(CHMOD) 755 $(DESTDIR)$(bindir)/$$game; \
- $(CP) $$game.desktop $(DESTDIR)/usr/share/applnk/Games; \
- $(CP) $$game-32.png $(DESTDIR)/usr/share/icons/hicolor/32x32/apps/$$game.png; \
- $(CP) $$game-128.png $(DESTDIR)/usr/share/icons/hicolor/128x128/apps/$$game.png; \
+ -$(INSTALL_DIR) $(DESTDIR)$(bindir)
+ -$(INSTALL_DIR) $(DESTDIR)/usr/share/applnk/Games
+ -$(INSTALL_DIR) $(DESTDIR)/usr/share/icons/hicolor/32x32/apps
+ -$(INSTALL_DIR) $(DESTDIR)/usr/share/icons/hicolor/128x128/apps
+ for game in blocks checkers sudoku; do \
+ $(INSTALL_BIN) $$game $(DESTDIR)$(bindir); \
+ $(INSTALL_DATA) desktop/$$game.desktop $(DESTDIR)/usr/share/applnk/Games; \
+ $(INSTALL_DATA) desktop/$$game-32.png $(DESTDIR)/usr/share/icons/hicolor/32x32/apps/$$game.png; \
+ $(INSTALL_DATA) desktop/$$game-128.png $(DESTDIR)/usr/share/icons/hicolor/128x128/apps/$$game.png; \
done
install-osx:
echo Installing games in $(DESTDIR)/Applications...
- for game in checkers sudoku; do \
+ for game in blocks checkers sudoku; do \
if test ! -d $(DESTDIR)/Applications/$$game.app; then \
- $(MKDIR) $(DESTDIR)/Applications/$$game.app; \
- $(MKDIR) $(DESTDIR)/Applications/$$game.app/Contents; \
- $(MKDIR) $(DESTDIR)/Applications/$$game.app/Contents/MacOS; \
- $(MKDIR) $(DESTDIR)/Applications/$$game.app/Contents/Resources; \
+ $(INSTALL_DIR) $(DESTDIR)/Applications/$$game.app; \
+ $(INSTALL_DIR) $(DESTDIR)/Applications/$$game.app/Contents; \
+ $(INSTALL_DIR) $(DESTDIR)/Applications/$$game.app/Contents/MacOS; \
+ $(INSTALL_DIR) $(DESTDIR)/Applications/$$game.app/Contents/Resources; \
fi; \
- $(CP) $$game.app/Contents/Info.plist $(DESTDIR)/Applications/$$game.app/Contents; \
- $(CP) $$game.app/Contents/PkgInfo $(DESTDIR)/Applications/$$game.app/Contents; \
- $(CP) $$game.app/Contents/MacOS/$$game $(DESTDIR)/Applications/$$game.app/Contents/MacOS; \
- $(CP) $$game.app/Contents/Resources/$$game.icns $(DESTDIR)/Applications/$$game.app/Contents/Resources; \
+ $(INSTALL_DATA) $$game.app/Contents/Info.plist $(DESTDIR)/Applications/$$game.app/Contents; \
+ $(INSTALL_DATA) $$game.app/Contents/PkgInfo $(DESTDIR)/Applications/$$game.app/Contents; \
+ $(INSTALL_BIN) $$game.app/Contents/MacOS/$$game $(DESTDIR)/Applications/$$game.app/Contents/MacOS; \
+ $(INSTALL_DATA) $$game.app/Contents/Resources/$$game.icns $(DESTDIR)/Applications/$$game.app/Contents/Resources; \
done
uninstall:
@@ -215,7 +234,7 @@ uninstall:
uninstall-linux:
echo Removing games from $(DESTDIR)$(bindir)...
- for game in checkers sudoku; do \
+ for game in blocks checkers sudoku; do \
$(RM) $(DESTDIR)$(bindir)/$$game; \
$(RM) $(DESTDIR)/usr/share/applnk/Games/$$game.desktop; \
$(RM) $(DESTDIR)/usr/share/icons/hicolor/32x32/apps/$$game.png; \
@@ -224,12 +243,13 @@ uninstall-linux:
uninstall-osx:
echo Removing games from $(DESTDIR)/Applications...
- $(RM) -r $(DESTDIR)/Applications/checkers.app
- $(RM) -r $(DESTDIR)/Applications/sudoku.app
+ $(RMDIR) $(DESTDIR)/Applications/blocks.app
+ $(RMDIR) $(DESTDIR)/Applications/checkers.app
+ $(RMDIR) $(DESTDIR)/Applications/sudoku.app
# FLUID file rules
.fl.cxx .fl.h: ../fluid/fluid$(EXEEXT)
- echo Generating $<...
+ echo Generating $@ and header from $<...
../fluid/fluid$(EXEEXT) -c $<
# All demos depend on the FLTK library...
@@ -254,17 +274,23 @@ button$(EXEEXT): button.o
buttons$(EXEEXT): buttons.o
+blocks$(EXEEXT): blocks.o
+ echo Linking $@...
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) blocks.o -o $@ $(AUDIOLIBS) $(LINKFLTK) $(LDLIBS)
+ $(INSTALL_BIN) blocks$(EXEEXT) blocks.app/Contents/MacOS
+ $(POSTBUILD) $@ ../FL/mac.r
+
checkers$(EXEEXT): checkers.o
echo Linking $@...
- $(CXX) $(CXXFLAGS) checkers.o -o $@ $(LINKFLTK) $(LDLIBS)
- $(CP) checkers$(EXEEXT) checkers.app/Contents/MacOS
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) checkers.o -o $@ $(LINKFLTK) $(LDLIBS)
+ $(INSTALL_BIN) checkers$(EXEEXT) checkers.app/Contents/MacOS
$(POSTBUILD) $@ ../FL/mac.r
clock$(EXEEXT): clock.o
colbrowser$(EXEEXT): colbrowser.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ colbrowser.o $(LINKFLTKFORMS) $(LDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ colbrowser.o $(LINKFLTKFORMS) $(LDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
color_chooser$(EXEEXT): color_chooser.o
@@ -275,36 +301,36 @@ curve$(EXEEXT): curve.o
demo$(EXEEXT): demo.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ demo.o $(LINKFLTKFORMS) $(LDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ demo.o $(LINKFLTKFORMS) $(LDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
doublebuffer$(EXEEXT): doublebuffer.o
editor$(EXEEXT): editor.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) editor.o -o $@ $(LINKFLTKIMG) $(LDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) editor.o -o $@ $(LINKFLTKIMG) $(LDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
fast_slow$(EXEEXT): fast_slow.o
-fast_slow.cxx: fast_slow.fl
+fast_slow.cxx: fast_slow.fl ../fluid/fluid$(EXEEXT)
file_chooser$(EXEEXT): file_chooser.o ../lib/$(IMGLIBNAME)
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) file_chooser.o -o $@ $(LINKFLTKIMG) $(LDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) file_chooser.o -o $@ $(LINKFLTKIMG) $(LDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
fonts$(EXEEXT): fonts.o
forms$(EXEEXT): forms.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ forms.o $(LINKFLTKFORMS) $(LDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ forms.o $(LINKFLTKFORMS) $(LDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
hello$(EXEEXT): hello.o
help$(EXEEXT): help.o ../lib/$(IMGLIBNAME)
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) help.o -o $@ $(LINKFLTKIMG) $(LDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) help.o -o $@ $(LINKFLTKIMG) $(LDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
iconize$(EXEEXT): iconize.o
@@ -312,7 +338,7 @@ iconize$(EXEEXT): iconize.o
image$(EXEEXT): image.o
inactive$(EXEEXT): inactive.o
-inactive.cxx: inactive.fl
+inactive.cxx: inactive.fl ../fluid/fluid$(EXEEXT)
input$(EXEEXT): input.o
@@ -320,14 +346,14 @@ input_choice$(EXEEXT): input_choice.o
keyboard$(EXEEXT): keyboard_ui.o keyboard.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ keyboard.o keyboard_ui.o $(LINKFLTK) $(LDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ keyboard.o keyboard_ui.o $(LINKFLTK) $(LDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
keyboard_ui.o: keyboard_ui.h
-keyboard_ui.cxx: keyboard_ui.fl
+keyboard_ui.cxx: keyboard_ui.fl ../fluid/fluid$(EXEEXT)
label$(EXEEXT): label.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ label.o $(LINKFLTKFORMS) $(LDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ label.o $(LINKFLTKFORMS) $(LDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
line_style$(EXEEXT): line_style.o
@@ -336,10 +362,10 @@ list_visuals$(EXEEXT): list_visuals.o
mandelbrot$(EXEEXT): mandelbrot_ui.o mandelbrot.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ mandelbrot.o mandelbrot_ui.o $(LINKFLTK) $(LDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ mandelbrot.o mandelbrot_ui.o $(LINKFLTK) $(LDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
mandelbrot_ui.o: mandelbrot_ui.h
-mandelbrot_ui.cxx: mandelbrot_ui.fl
+mandelbrot_ui.cxx: mandelbrot_ui.fl ../fluid/fluid$(EXEEXT)
menubar$(EXEEXT): menubar.o
@@ -351,7 +377,7 @@ navigation$(EXEEXT): navigation.o
output$(EXEEXT): output.o ../lib/$(FLLIBNAME)
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ output.o $(LINKFLTKFORMS) $(LDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ output.o $(LINKFLTKFORMS) $(LDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
overlay$(EXEEXT): overlay.o
@@ -362,17 +388,17 @@ pixmap$(EXEEXT): pixmap.o
pixmap_browser$(EXEEXT): pixmap_browser.o ../lib/$(IMGLIBNAME)
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) pixmap_browser.o -o $@ $(LINKFLTKIMG) $(LDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) pixmap_browser.o -o $@ $(LINKFLTKIMG) $(LDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
preferences$(EXEEXT): preferences.o
-preferences.cxx: preferences.fl
+preferences.cxx: preferences.fl ../fluid/fluid$(EXEEXT)
radio$(EXEEXT): radio.o
-radio.cxx: radio.fl
+radio.cxx: radio.fl ../fluid/fluid$(EXEEXT)
resize$(EXEEXT): resize.o
-resize.cxx: resize.fl
+resize.cxx: resize.fl ../fluid/fluid$(EXEEXT)
resizebox$(EXEEXT): resizebox.o
@@ -382,19 +408,19 @@ subwindow$(EXEEXT): subwindow.o
sudoku: sudoku.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) sudoku.o -o $@ $(AUDIOLIBS) $(LINKFLTKIMG) $(LDLIBS)
- $(CP) sudoku$(EXEEXT) sudoku.app/Contents/MacOS
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) sudoku.o -o $@ $(AUDIOLIBS) $(LINKFLTKIMG) $(LDLIBS)
+ $(INSTALL_BIN) sudoku$(EXEEXT) sudoku.app/Contents/MacOS
$(POSTBUILD) $@ ../FL/mac.r
sudoku.exe: sudoku.o sudoku.rc
echo Linking $@...
windres sudoku.rc sudokures.o
- $(CXX) -I.. $(CXXFLAGS) sudoku.o sudokures.o -o $@ $(AUDIOLIBS) $(LINKFLTKIMG) $(LDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) sudoku.o sudokures.o -o $@ $(AUDIOLIBS) $(LINKFLTKIMG) $(LDLIBS)
symbols$(EXEEXT): symbols.o
tabs$(EXEEXT): tabs.o
-tabs.cxx: tabs.fl
+tabs.cxx: tabs.fl ../fluid/fluid$(EXEEXT)
threads$(EXEEXT): threads.o
# This ensures that we have this dependency even if threads are not
@@ -406,7 +432,7 @@ tile$(EXEEXT): tile.o
tiled_image$(EXEEXT): tiled_image.o
valuators$(EXEEXT): valuators.o
-valuators.cxx: valuators.fl
+valuators.cxx: valuators.fl ../fluid/fluid$(EXEEXT)
# All OpenGL demos depend on the FLTK and FLTK_GL libraries...
$(GLALL): ../lib/$(LIBNAME) ../lib/$(GLLIBNAME)
@@ -414,40 +440,46 @@ $(GLALL): ../lib/$(LIBNAME) ../lib/$(GLLIBNAME)
# OpenGL demos...
CubeView$(EXEEXT): CubeMain.o CubeView.o CubeViewUI.o
echo Linking $@...
- $(CXX) $(CXXFLAGS) -o $@ CubeMain.o CubeView.o CubeViewUI.o \
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ \
+ CubeMain.o CubeView.o CubeViewUI.o \
$(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
-CubeMain.o: CubeViewUI.h CubeView.h
+CubeMain.o: CubeViewUI.h CubeView.h CubeViewUI.cxx
CubeView.o: CubeView.h
-CubeViewUI.o: CubeViewUI.h
-CubeViewUI.cxx: CubeViewUI.fl
+CubeViewUI.o: CubeViewUI.cxx CubeViewUI.h
+CubeViewUI.cxx: CubeViewUI.fl ../fluid/fluid$(EXEEXT)
cube$(EXEEXT): cube.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ cube.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ cube.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
+
fractals$(EXEEXT): fractals.o fracviewer.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ fractals.o fracviewer.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ fractals.o fracviewer.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
+
fullscreen$(EXEEXT): fullscreen.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ fullscreen.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ fullscreen.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
+
glpuzzle$(EXEEXT): glpuzzle.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ glpuzzle.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ glpuzzle.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
+
gl_overlay$(EXEEXT): gl_overlay.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ gl_overlay.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ gl_overlay.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
+
shape$(EXEEXT): shape.o
echo Linking $@...
- $(CXX) -I.. $(CXXFLAGS) -o $@ shape.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ shape.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
$(POSTBUILD) $@ ../FL/mac.r
#
-# End of "$Id: Makefile 4756 2006-01-15 18:36:16Z mike $".
+# End of "$Id: Makefile 5792 2007-05-01 20:22:59Z matt $".
#
diff --git a/test/adjuster.cxx b/test/adjuster.cxx
index af7170c..9a6e61e 100644
--- a/test/adjuster.cxx
+++ b/test/adjuster.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: adjuster.cxx 4570 2005-09-15 10:16:08Z matt $"
+// "$Id: adjuster.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Adjuster test program for the Fast Light Tool Kit (FLTK).
//
@@ -62,5 +62,5 @@ int main(int argc, char ** argv) {
}
//
-// End of "$Id: adjuster.cxx 4570 2005-09-15 10:16:08Z matt $".
+// End of "$Id: adjuster.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/arc.cxx b/test/arc.cxx
index e659746..ab796b0 100755
--- a/test/arc.cxx
+++ b/test/arc.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: arc.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: arc.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Arc drawing test program for the Fast Light Tool Kit (FLTK).
//
@@ -94,6 +94,6 @@ int main(int argc, char** argv) {
//
-// End of "$Id: arc.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: arc.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/ask.cxx b/test/ask.cxx
index c7898e1..4ae33cc 100644
--- a/test/ask.cxx
+++ b/test/ask.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ask.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: ask.cxx 5671 2007-02-08 07:58:47Z matt $"
//
// Standard dialog test program for the Fast Light Tool Kit (FLTK).
//
@@ -47,7 +47,7 @@ void rename_me(Fl_Widget*o) {
const char *input = fl_input("Input:", o->label());
if (input) {
- o->label(input);
+ o->copy_label(input);
o->redraw();
}
}
@@ -65,7 +65,7 @@ int main(int argc, char **argv) {
Fl_Window window(200, 55);
Fl_Return_Button b(20, 10, 160, 35, buffer); b.callback(rename_me);
- window.add(b);
+ window.end();
window.resizable(&b);
window.show(argc, argv);
@@ -76,5 +76,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: ask.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: ask.cxx 5671 2007-02-08 07:58:47Z matt $".
//
diff --git a/test/bitmap.cxx b/test/bitmap.cxx
index bf347e1..d743d52 100644
--- a/test/bitmap.cxx
+++ b/test/bitmap.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: bitmap.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: bitmap.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Bitmap label test program for the Fast Light Tool Kit (FLTK).
//
@@ -143,5 +143,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: bitmap.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: bitmap.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/blocks.app/Contents/Info.plist b/test/blocks.app/Contents/Info.plist
new file mode 100644
index 0000000..dcc528a
--- /dev/null
+++ b/test/blocks.app/Contents/Info.plist
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plist version="0.9">
+ <dict>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+
+ <key>CFBundleExecutable</key>
+ <string>blocks</string>
+
+ <key>CFBundleIdentifier</key>
+ <string>com.easysw.blocks</string>
+
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+
+ <key>NSHumanReadableCopyright</key>
+ <string>Copyright 2006 by Michael Sweet</string>
+
+ <key>CFAppleHelpAnchor</key>
+ <string>help</string>
+
+ <key>CFBundleName</key>
+ <string>blocks</string>
+
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+
+ <key>CFBundleSignature</key>
+ <string>BLKS</string>
+
+ <key>CFBundleIconFile</key>
+ <string>blocks.icns</string>
+
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+
+ <key>CFBundleGetInfoString</key>
+ <string>1.0, Copyright 2006 by Michael Sweet</string>
+
+ </dict>
+</plist>
diff --git a/test/blocks.app/Contents/PkgInfo b/test/blocks.app/Contents/PkgInfo
new file mode 100644
index 0000000..103810a
--- /dev/null
+++ b/test/blocks.app/Contents/PkgInfo
@@ -0,0 +1 @@
+BLKSBlks
diff --git a/test/blocks.app/Contents/Resources/blocks.icns b/test/blocks.app/Contents/Resources/blocks.icns
new file mode 100644
index 0000000..7e7ba24
--- /dev/null
+++ b/test/blocks.app/Contents/Resources/blocks.icns
Binary files differ
diff --git a/test/blocks.cxx b/test/blocks.cxx
new file mode 100644
index 0000000..9ea7664
--- /dev/null
+++ b/test/blocks.cxx
@@ -0,0 +1,1007 @@
+//
+// "$Id: blocks.cxx 5374 2006-08-28 14:45:20Z mike $"
+//
+// "Block Attack!" scrolling blocks game using the Fast Light Tool Kit (FLTK).
+//
+// Copyright 2006 by Michael Sweet.
+//
+// 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 <FL/Fl.H>
+#include <FL/Fl_Double_Window.H>
+#include <FL/Fl_Button.H>
+#include <FL/Fl_Preferences.H>
+#include <FL/Fl_XPM_Image.H>
+#include <FL/Fl_XBM_Image.H>
+#include <FL/Fl_Tiled_Image.H>
+#include <FL/fl_draw.H>
+#include <FL/x.H>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <math.h>
+
+// Audio headers...
+#include <config.h>
+
+#ifndef WIN32
+# include <unistd.h>
+# include <sys/time.h>
+#endif // !WIN32
+
+#ifdef HAVE_ALSA_ASOUNDLIB_H
+# define ALSA_PCM_NEW_HW_PARAMS_API
+# include <alsa/asoundlib.h>
+#endif // HAVE_ALSA_ASOUNDLIB_H
+#ifdef __APPLE__
+# include <CoreAudio/AudioHardware.h>
+#endif // __APPLE__
+#ifdef WIN32
+# include <mmsystem.h>
+#endif // WIN32
+
+
+#define BLOCK_COLS 20
+#define BLOCK_ROWS 10
+#define BLOCK_SIZE 32
+#define BLOCK_BLAST 100
+
+#include "pixmaps/blast.xpm"
+Fl_Pixmap blast_pixmap(blast_xpm);
+
+#include "pixmaps/red.xpm"
+Fl_Pixmap red_pixmap(red_xpm);
+#include "pixmaps/red_bomb.xpm"
+Fl_Pixmap red_bomb_pixmap(red_bomb_xpm);
+
+#include "pixmaps/green.xpm"
+Fl_Pixmap green_pixmap(green_xpm);
+#include "pixmaps/green_bomb.xpm"
+Fl_Pixmap green_bomb_pixmap(green_bomb_xpm);
+
+#include "pixmaps/blue.xpm"
+Fl_Pixmap blue_pixmap(blue_xpm);
+#include "pixmaps/blue_bomb.xpm"
+Fl_Pixmap blue_bomb_pixmap(blue_bomb_xpm);
+
+#include "pixmaps/yellow.xpm"
+Fl_Pixmap yellow_pixmap(yellow_xpm);
+#include "pixmaps/yellow_bomb.xpm"
+Fl_Pixmap yellow_bomb_pixmap(yellow_bomb_xpm);
+
+#include "pixmaps/cyan.xpm"
+Fl_Pixmap cyan_pixmap(cyan_xpm);
+#include "pixmaps/cyan_bomb.xpm"
+Fl_Pixmap cyan_bomb_pixmap(cyan_bomb_xpm);
+
+#include "pixmaps/magenta.xpm"
+Fl_Pixmap magenta_pixmap(magenta_xpm);
+#include "pixmaps/magenta_bomb.xpm"
+Fl_Pixmap magenta_bomb_pixmap(magenta_bomb_xpm);
+
+#include "pixmaps/gray.xpm"
+Fl_Pixmap gray_pixmap(gray_xpm);
+#include "pixmaps/gray_bomb.xpm"
+Fl_Pixmap gray_bomb_pixmap(gray_bomb_xpm);
+
+Fl_Pixmap *normal_pixmaps[] = {
+ &red_pixmap,
+ &green_pixmap,
+ &blue_pixmap,
+ &yellow_pixmap,
+ &cyan_pixmap,
+ &magenta_pixmap,
+ &gray_pixmap
+};
+Fl_Pixmap *bomb_pixmaps[] = {
+ &red_bomb_pixmap,
+ &green_bomb_pixmap,
+ &blue_bomb_pixmap,
+ &yellow_bomb_pixmap,
+ &cyan_bomb_pixmap,
+ &magenta_bomb_pixmap,
+ &gray_bomb_pixmap
+};
+
+const unsigned char screen_bits[] = {
+ 0xff, 0x55, 0xff, 0xaa, 0xff, 0x55, 0xff, 0xaa
+};
+Fl_Bitmap screen_bitmap(screen_bits, 8, 8);
+Fl_Tiled_Image screen_tile(&screen_bitmap);
+
+
+// Sound class...
+//
+// There are MANY ways to implement sound in a FLTK application.
+// The approach we are using here is to conditionally compile OS-
+// specific code into the application - CoreAudio for MacOS X, the
+// standard Win32 API stuff for Windows, ALSA or X11 for Linux, and
+// X11 for all others. We have to support ALSA on Linux because the
+// current Xorg releases no longer support XBell() or the PC speaker.
+//
+// There are several good cross-platform audio libraries we could also
+// use, such as OpenAL, PortAudio, and SDL, however they were not chosen
+// for this application because of our limited use of sound.
+//
+// Many thanks to Ian MacArthur who provided sample code that led to
+// the CoreAudio implementation you see here!
+class BlockSound {
+ // Private, OS-specific data...
+#ifdef __APPLE__
+ AudioDeviceID device;
+ AudioStreamBasicDescription format;
+ short *data;
+ int remaining;
+
+ static OSStatus audio_cb(AudioDeviceID device,
+ const AudioTimeStamp *current_time,
+ const AudioBufferList *data_in,
+ const AudioTimeStamp *time_in,
+ AudioBufferList *data_out,
+ const AudioTimeStamp *time_out,
+ void *client_data);
+#elif defined(WIN32)
+ HWAVEOUT device;
+ HGLOBAL header_handle;
+ LPWAVEHDR header_ptr;
+ HGLOBAL data_handle;
+ LPSTR data_ptr;
+
+#else
+# ifdef HAVE_ALSA_ASOUNDLIB_H
+ snd_pcm_t *handle;
+# endif // HAVE_ALSA_ASOUNDLIB_H
+#endif // __APPLE__
+
+ public:
+
+ // Common data...
+ static short *sample_data;
+ static int sample_size;
+
+ BlockSound();
+ ~BlockSound();
+
+ void play_explosion(float duration);
+};
+
+// Sound class globals...
+short *BlockSound::sample_data = NULL;
+int BlockSound::sample_size = 0;
+
+
+// Initialize the BlockSound class
+BlockSound::BlockSound() {
+ sample_size = 0;
+
+#ifdef __APPLE__
+ remaining = 0;
+
+ UInt32 size = sizeof(device);
+
+ if (AudioHardwareGetProperty(kAudioHardwarePropertyDefaultOutputDevice,
+ &size, (void *)&device) != noErr) return;
+
+ size = sizeof(format);
+ if (AudioDeviceGetProperty(device, 0, false, kAudioDevicePropertyStreamFormat,
+ &size, &format) != noErr) return;
+
+ // Set up a format we like...
+ format.mSampleRate = 44100.0; // 44.1kHz
+ format.mChannelsPerFrame = 2; // stereo
+
+ if (AudioDeviceSetProperty(device, NULL, 0, false,
+ kAudioDevicePropertyStreamFormat,
+ sizeof(format), &format) != noErr) return;
+
+ // Check we got linear pcm - what to do if we did not ???
+ if (format.mFormatID != kAudioFormatLinearPCM) return;
+
+ // Attach the callback
+ if (AudioDeviceAddIOProc(device, audio_cb, (void *)this) != noErr) return;
+
+ // Start the device...
+ AudioDeviceStart(device, audio_cb);
+
+ sample_size = (int)format.mSampleRate;
+
+#elif defined(WIN32)
+ WAVEFORMATEX format;
+
+ memset(&format, 0, sizeof(format));
+ format.cbSize = sizeof(format);
+ format.wFormatTag = WAVE_FORMAT_PCM;
+ format.nChannels = 2;
+ format.nSamplesPerSec = 44100;
+ format.nAvgBytesPerSec = 44100 * 4;
+ format.nBlockAlign = 4;
+ format.wBitsPerSample = 16;
+
+ data_handle = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, format.nSamplesPerSec * 4);
+ if (!data_handle) return;
+
+ data_ptr = (LPSTR)GlobalLock(data_handle);
+
+ header_handle = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, sizeof(WAVEHDR));
+ if (!header_handle) return;
+
+ header_ptr = (WAVEHDR *)GlobalLock(header_handle);
+
+ header_ptr->lpData = data_ptr;
+ header_ptr->dwFlags = 0;
+ header_ptr->dwLoops = 0;
+
+ if (waveOutOpen(&device, WAVE_MAPPER, &format, 0, 0, WAVE_ALLOWSYNC)
+ != MMSYSERR_NOERROR) return;
+
+ sample_size = format.nSamplesPerSec;
+
+#else
+# ifdef HAVE_ALSA_ASOUNDLIB_H
+ handle = NULL;
+
+ if (snd_pcm_open(&handle, "default", SND_PCM_STREAM_PLAYBACK, 0) >= 0) {
+ // Initialize PCM sound stuff...
+ snd_pcm_hw_params_t *params;
+
+ snd_pcm_hw_params_alloca(&params);
+ snd_pcm_hw_params_any(handle, params);
+ snd_pcm_hw_params_set_access(handle, params, SND_PCM_ACCESS_RW_INTERLEAVED);
+ snd_pcm_hw_params_set_format(handle, params, SND_PCM_FORMAT_S16);
+ snd_pcm_hw_params_set_channels(handle, params, 2);
+ unsigned rate = 44100;
+ int dir;
+ snd_pcm_hw_params_set_rate_near(handle, params, &rate, &dir);
+ snd_pcm_uframes_t period = (int)rate;
+ snd_pcm_hw_params_set_period_size_near(handle, params, &period, &dir);
+
+ sample_size = rate;
+
+ if (snd_pcm_hw_params(handle, params) < 0) {
+ sample_size = 0;
+ snd_pcm_close(handle);
+ handle = NULL;
+ }
+ }
+# endif // HAVE_ALSA_ASOUNDLIB_H
+#endif // __APPLE__
+
+ if (sample_size) {
+ // Make an explosion sound by passing white noise through a low pass
+ // filter with a decreasing frequency...
+ sample_data = new short[2 * sample_size];
+
+ short *sample_ptr = sample_data;
+ int max_sample = 2 * sample_size - 2;
+
+ *sample_ptr++ = 0;
+ *sample_ptr++ = 0;
+
+ for (int j = max_sample; j > 0; j --, sample_ptr ++) {
+ float freq = (float)j / (float)max_sample;
+ float volume = 32767.0 * (0.5 * sqrt(freq) + 0.5);
+ float sample = 0.0001 * ((rand() % 20001) - 10000);
+
+ *sample_ptr = (int)(volume * freq * sample +
+ (1.0 - freq) * sample_ptr[-2]);
+ }
+ }
+}
+
+
+// Cleanup the BlockSound class
+BlockSound::~BlockSound() {
+#ifdef __APPLE__
+ if (sample_size) {
+ AudioDeviceStop(device, audio_cb);
+ AudioDeviceRemoveIOProc(device, audio_cb);
+ }
+
+#elif defined(WIN32)
+ if (sample_size) {
+ waveOutClose(device);
+
+ GlobalUnlock(header_handle);
+ GlobalFree(header_handle);
+
+ GlobalUnlock(data_handle);
+ GlobalFree(data_handle);
+ }
+
+#else
+# ifdef HAVE_ALSA_ASOUNDLIB_H
+ if (handle) {
+ snd_pcm_drain(handle);
+ snd_pcm_close(handle);
+ }
+# endif // HAVE_ALSA_ASOUNDLIB_H
+#endif // __APPLE__
+
+ if (sample_size) {
+ delete[] sample_data;
+ }
+}
+
+
+#ifdef __APPLE__
+// Callback function for writing audio data...
+OSStatus
+BlockSound::audio_cb(AudioDeviceID device,
+ const AudioTimeStamp *current_time,
+ const AudioBufferList *data_in,
+ const AudioTimeStamp *time_in,
+ AudioBufferList *data_out,
+ const AudioTimeStamp *time_out,
+ void *client_data) {
+ BlockSound *ss = (BlockSound *)client_data;
+ int count;
+ float *buffer;
+
+ if (!ss->remaining) return noErr;
+
+ for (count = data_out->mBuffers[0].mDataByteSize / sizeof(float),
+ buffer = (float*) data_out->mBuffers[0].mData;
+ ss->remaining > 0 && count > 0;
+ count --, ss->data ++, ss->remaining --) {
+ *buffer++ = *(ss->data) / 32767.0;
+ }
+
+ while (count > 0) {
+ *buffer++ = 0.0;
+ count --;
+ }
+
+ return noErr;
+}
+#endif // __APPLE__
+
+
+// Play a note for the given amount of time...
+void
+BlockSound::play_explosion(float duration) {
+ Fl::check();
+
+ if (duration <= 0.0)
+ return;
+
+ if (duration > 1.0)
+ duration = 1.0;
+
+ int samples = (int)(duration * sample_size);
+ short *sample_ptr = sample_data + 2 * (sample_size - samples);
+
+#ifdef __APPLE__
+ // Point to the next note...
+ data = sample_ptr;
+ remaining = samples * 2;
+
+#elif defined(WIN32)
+ if (sample_size) {
+ memcpy(data_ptr, sample_ptr, samples * 4);
+
+ header_ptr->dwBufferLength = samples * 4;
+ waveOutPrepareHeader(device, header_ptr, sizeof(WAVEHDR));
+
+ waveOutWrite(device, header_ptr, sizeof(WAVEHDR));
+ } else Beep(440, (int)(1000.0 * duration));
+
+#elif defined(HAVE_ALSA_ASOUNDLIB_H)
+ if (handle) {
+ // Use ALSA to play the sound...
+ if (snd_pcm_writei(handle, sample_ptr, samples) < 0) {
+ snd_pcm_prepare(handle);
+ snd_pcm_writei(handle, sample_ptr, samples);
+ }
+ return;
+ }
+#endif // __APPLE__
+}
+
+
+class BlockWindow : public Fl_Double_Window
+{
+ public:
+
+ struct Block
+ {
+ int color;
+ bool bomb;
+ int y;
+ };
+
+ struct Column
+ {
+ int num_blocks;
+ Block blocks[BLOCK_ROWS];
+ int x;
+ };
+
+ private:
+
+ Fl_Button *help_button_,
+ *play_button_;
+
+ int num_columns_;
+ Column columns_[BLOCK_COLS];
+ int count_;
+ bool help_;
+ int high_score_;
+ float interval_;
+ int level_;
+ int num_colors_;
+ int opened_columns_;
+ bool paused_;
+ static Fl_Preferences prefs_;
+ int score_;
+ BlockSound *sound_;
+ char title_[255];
+ int title_y_;
+
+ void _BlockWindow();
+ int bomb(int color);
+ int click(int col, int row);
+ static void help_cb(Fl_Widget *wi, BlockWindow *bw);
+ void init();
+ static void play_cb(Fl_Widget *wi, BlockWindow *bw);
+ static void timeout_cb(BlockWindow *bw);
+
+ public:
+
+ BlockWindow(int X, int Y, int W, int H, const char *L = 0);
+ BlockWindow(int W, int H, const char *L = 0);
+ ~BlockWindow();
+
+ void draw();
+ int handle(int event);
+ void new_game();
+ int score() { return (score_); }
+};
+
+
+Fl_Preferences BlockWindow::prefs_(Fl_Preferences::USER, "fltk.org", "blocks");
+
+
+int
+main(int argc, char *argv[]) {
+ Fl::scheme("plastic");
+ Fl::visible_focus(0);
+
+ BlockWindow *bw = new BlockWindow(BLOCK_COLS * BLOCK_SIZE,
+ BLOCK_ROWS * BLOCK_SIZE + 20,
+ "Block Attack!");
+
+ bw->show(argc, argv);
+
+ return (Fl::run());
+}
+
+
+// Create a block window at the specified position
+BlockWindow::BlockWindow(int X, int Y, int W, int H, const char *L)
+ : Fl_Double_Window(X, Y, W, H, L) {
+ _BlockWindow();
+}
+
+
+// Create a block window
+BlockWindow::BlockWindow(int W, int H, const char *L)
+ : Fl_Double_Window(W, H, L) {
+ _BlockWindow();
+}
+
+
+// Delete a block window
+BlockWindow::~BlockWindow() {
+ Fl::remove_timeout((Fl_Timeout_Handler)timeout_cb, (void *)this);
+}
+
+
+// Initialize a block window...
+void
+BlockWindow::_BlockWindow() {
+ init();
+
+ help_button_ = new Fl_Button(0, 0, 20, 20, "?");
+ help_button_->callback((Fl_Callback *)help_cb, this);
+ help_button_->shortcut('?');
+
+ play_button_ = new Fl_Button(80, (h() - 80) / 2, 80, 80, "@>");
+ play_button_->callback((Fl_Callback *)play_cb, this);
+ play_button_->labelsize(44);
+ play_button_->shortcut(' ');
+
+ sound_ = new BlockSound();
+
+ prefs_.get("high_score", high_score_, 0);
+
+ Fl::add_timeout(0.1, (Fl_Timeout_Handler)timeout_cb, (void *)this);
+}
+
+
+// Bomb all blocks of a given color and return the number of affected blocks
+int
+BlockWindow::bomb(int color) {
+ int i, j;
+ int count;
+ Block *b;
+ Column *c;
+
+
+ if (color >= BLOCK_BLAST) return (0);
+
+ for (i = num_columns_, c = columns_, count = 1; i > 0; i --, c ++)
+ for (j = c->num_blocks, b = c->blocks; j > 0; j --, b ++)
+ if (b->color == color) {
+ b->color = -color;
+ count ++;
+ }
+
+ return (count);
+}
+
+
+// Tag all blocks connected to the clicked block and return the number
+// of affected blocks
+int
+BlockWindow::click(int col, int row) {
+ Block *b;
+ Column *c;
+ int count, color;
+
+
+ c = columns_ + col;
+ b = c->blocks + row;
+ color = b->color;
+
+ if (color < 0 || color >= BLOCK_BLAST) return (0);
+
+ // Find the bottom block...
+ while (row > 0 && b[-1].color == color) {
+ row --;
+ b --;
+ }
+
+ count = 0;
+
+ while (row < c->num_blocks && b->color == color) {
+ b->color = -color;
+
+ if (col > 0 && row < c[-1].num_blocks &&
+ c[-1].blocks[row].color == color) {
+ count += click(col - 1, row);
+ }
+
+ if (col < (num_columns_ - 1) && row < c[1].num_blocks &&
+ c[1].blocks[row].color == color) {
+ count += click(col + 1, row);
+ }
+
+ count ++;
+ row ++;
+ b ++;
+ }
+
+ return (count);
+}
+
+
+// Draw the block window...
+void
+BlockWindow::draw() {
+ int i, j, xx, yy;
+ Block *b;
+ Column *c;
+
+
+ // Draw the blocks...
+ fl_color(FL_BLACK);
+ fl_rectf(0, 0, w(), h());
+
+ // Draw the blocks...
+ for (i = num_columns_, c = columns_; i > 0; i --, c ++)
+ for (j = c->num_blocks, b = c->blocks; j > 0; j --, b ++) {
+ xx = w() - c->x;
+ yy = h() - BLOCK_SIZE - b->y;
+
+ if (b->color >= BLOCK_BLAST) {
+ b->color ++;
+ blast_pixmap.draw(xx, yy);
+ } else if (b->color < 0) {
+ if (b->bomb) bomb_pixmaps[-b->color - 1]->draw(xx, yy);
+ else normal_pixmaps[-b->color - 1]->draw(xx, yy);
+ } else {
+ if (b->bomb) bomb_pixmaps[b->color - 1]->draw(xx, yy);
+ else normal_pixmaps[b->color - 1]->draw(xx, yy);
+ }
+ }
+
+ if (interval_ < 0.0 || paused_) {
+ fl_color(FL_BLACK);
+ screen_tile.draw(0, 0, w(), h(), 0, 0);
+ }
+
+ // Redraw the widgets...
+ play_button_->redraw();
+ help_button_->redraw();
+ draw_children();
+
+ // Draw any paused/game over/new game message...
+ if ((paused_ || interval_ < 0.0) && play_button_->w() == 80) {
+ const char *s;
+
+ if (help_) {
+ s = "Click on adjacent blocks of the same color. Clear all blocks "
+ "before they reach the left side.";
+
+ fl_font(FL_HELVETICA_BOLD, 24);
+ fl_color(FL_BLACK);
+ fl_draw(s, 171, 3, w() - 250, h() - 6,
+ (Fl_Align)(FL_ALIGN_WRAP | FL_ALIGN_LEFT));
+
+ fl_color(FL_YELLOW);
+ fl_draw(s, 168, 0, w() - 250, h(),
+ (Fl_Align)(FL_ALIGN_WRAP | FL_ALIGN_LEFT));
+ } else {
+ if (interval_ < 0.0) {
+#ifdef DEBUG
+ // Show sample waveform...
+ short *sample_ptr;
+
+ for (i = 0; i < 2; i ++)
+ {
+ fl_color(FL_RED + i);
+ fl_begin_line();
+ for (j = 0, sample_ptr = sound_->sample_data + i;
+ j < sound_->sample_size;
+ j ++, sample_ptr += 2)
+ fl_vertex(j * w() / sound_->sample_size,
+ *sample_ptr * h() / 4 / 65534 + h() / 2);
+ fl_end_line();
+ }
+#endif // DEBUG
+
+ if (num_columns_ && (time(NULL) & 7) < 4) s = "Game Over";
+ else s = "Block Attack!\nby Michael R Sweet";
+ } else s = "Paused";
+
+ fl_font(FL_HELVETICA_BOLD, 32);
+ fl_color(FL_BLACK);
+ fl_draw(s, 6, 6, w() - 6, h() - 6, FL_ALIGN_CENTER);
+
+ fl_color(FL_YELLOW);
+ fl_draw(s, 0, 0, w(), h(), FL_ALIGN_CENTER);
+ }
+ }
+
+ // Draw the scores and level...
+ char s[255];
+
+ sprintf(s, " Score: %d", score_);
+ fl_color(FL_WHITE);
+ fl_font(FL_HELVETICA, 14);
+ fl_draw(s, 40, 0, w() - 40, 20, FL_ALIGN_LEFT);
+
+ sprintf(s, "High Score: %d ", high_score_);
+ fl_draw(s, 0, 0, w(), 20, FL_ALIGN_RIGHT);
+
+ if (level_ > 1 || title_y_ <= 0)
+ {
+ sprintf(s, "Level: %d ", level_);
+ fl_draw(s, 0, 0, w(), 20, FL_ALIGN_CENTER);
+ }
+
+ if (title_y_ > 0 && interval_ > 0.0)
+ {
+ int sz = 14 + title_y_ * 86 / h();
+
+ fl_font(FL_HELVETICA_BOLD, sz);
+ fl_color(FL_YELLOW);
+ fl_draw(title_, 0, title_y_, w(), sz, FL_ALIGN_CENTER);
+ }
+}
+
+
+// Handle mouse clicks, etc.
+int
+BlockWindow::handle(int event) {
+ int i, j, mx, my, count;
+ Block *b;
+ Column *c;
+
+
+ if (Fl_Double_Window::handle(event)) return (1);
+ else if (interval_ < 0.0 || paused_) return (0);
+
+ switch (event) {
+ case FL_PUSH :
+ mx = w() - Fl::event_x() + BLOCK_SIZE;
+ my = h() - Fl::event_y();
+ count = 0;
+
+ for (i = 0, c = columns_; !count && i < num_columns_; i ++, c ++)
+ for (j = 0, b = c->blocks; !count && j < c->num_blocks; j ++, b ++)
+ if (mx >= c->x && mx < (c->x + BLOCK_SIZE) &&
+ my >= b->y && my < (b->y + BLOCK_SIZE)) {
+ if (b->bomb) count = bomb(b->color);
+ else count = click(i, j);
+
+ break;
+ }
+
+ if (count < 2) {
+ for (i = 0, c = columns_; i < num_columns_; i ++, c ++)
+ for (j = 0, b = c->blocks; j < c->num_blocks; j ++, b ++)
+ if (b->color < 0) b->color = -b->color;
+ } else {
+ count --;
+
+ if (b->bomb) {
+ sound_->play_explosion(0.19 + 0.005 * count);
+
+ interval_ *= 0.995;
+ score_ += count;
+ } else {
+ sound_->play_explosion(0.09 + 0.005 * count);
+
+ interval_ *= 0.999;
+ score_ += count * count;
+ }
+
+ if (score_ > high_score_) {
+ high_score_ = score_;
+ prefs_.set("high_score", high_score_);
+ }
+
+ for (i = 0, c = columns_; i < num_columns_; i ++, c ++)
+ for (j = 0, b = c->blocks; j < c->num_blocks; j ++, b ++)
+ if (b->color < 0) b->color = BLOCK_BLAST;
+ }
+ return (1);
+ }
+
+ return (0);
+}
+
+
+// Toggle the on-line help...
+void
+BlockWindow::help_cb(Fl_Widget *wi, BlockWindow *bw) {
+ bw->paused_ = bw->help_ = !bw->help_;
+ bw->play_button_->label("@>");
+ bw->redraw();
+}
+
+
+// Initialize the block window...
+void
+BlockWindow::init() {
+ count_ = 0;
+ help_ = false;
+ interval_ = -1.0;
+ level_ = 1;
+ num_colors_ = 3;
+ num_columns_ = 0;
+ paused_ = false;
+ score_ = 0;
+ title_[0] = '\0';
+ title_y_ = 0;
+}
+
+
+// Start a new game...
+void
+BlockWindow::new_game() {
+ // Seed the random number generator...
+ srand(time(NULL));
+
+ init();
+
+ interval_ = 0.1;
+ opened_columns_ = 0;
+
+ strcpy(title_, "Level: 1");
+ title_y_ = h();
+
+ redraw();
+}
+
+
+// Play/pause...
+void
+BlockWindow::play_cb(Fl_Widget *wi, BlockWindow *bw) {
+ if (bw->interval_ < 0) bw->new_game();
+ else bw->paused_ = !bw->paused_;
+
+ if (bw->paused_) wi->label("@>");
+ else {
+ wi->label("@-2||");
+ bw->help_ = false;
+ }
+}
+
+
+// Animate the game...
+void
+BlockWindow::timeout_cb(BlockWindow *bw) {
+ int i, j;
+ Block *b;
+ Column *c;
+ int lastx, lasty;
+
+
+#ifdef DEBUG
+ struct timeval curtime;
+ static struct timeval lasttime;
+
+
+ gettimeofday(&curtime, NULL);
+ printf("%.3f (%+f - %f)\n",
+ curtime.tv_sec + 0.000001 * curtime.tv_usec,
+ curtime.tv_sec - lasttime.tv_sec +
+ 0.000001 * (curtime.tv_usec - lasttime.tv_usec), bw->interval_);
+ lasttime = curtime;
+#endif // DEBUG
+
+ // Update blocks that have been destroyed...
+ for (i = 0, c = bw->columns_; i < bw->num_columns_; i ++, c ++)
+ for (j = 0, b = c->blocks; j < c->num_blocks; j ++, b ++)
+ if (b->color > (BLOCK_BLAST + 1)) {
+ bw->redraw();
+
+ c->num_blocks --;
+
+ if (j < c->num_blocks) {
+ memmove(b, b + 1, (c->num_blocks - j) * sizeof(Block));
+ }
+
+ j --;
+ b --;
+
+ if (!c->num_blocks) {
+ bw->num_columns_ --;
+
+ if (i < bw->num_columns_) {
+ memmove(c, c + 1, (bw->num_columns_ - i) * sizeof(Column));
+ }
+
+ i --;
+ c --;
+ j = c->num_blocks;
+ }
+ }
+
+ // Let the rest of the blocks fall and/or move...
+ for (i = bw->num_columns_, c = bw->columns_, lastx = c->x;
+ i > 0;
+ i --, c ++) {
+ if (c->x > lastx) {
+ c->x -= 8;
+ bw->redraw();
+ }
+
+ lastx = c->x + BLOCK_SIZE;
+
+ if (!bw->paused_ && bw->interval_ > 0.0) {
+ bw->redraw();
+ c->x ++;
+ }
+
+ for (j = c->num_blocks, b = c->blocks, lasty = 0; j > 0; j --, b ++) {
+ if (b->y > lasty) {
+ bw->redraw();
+ b->y -= 8;
+ }
+
+ lasty = b->y + BLOCK_SIZE;
+ }
+ }
+
+ // Slide the title text as needed...
+ if (bw->title_y_ > 0) {
+ bw->redraw();
+ bw->title_y_ -= 5;
+ }
+
+ // Play the game...
+ if (!bw->paused_ && bw->interval_ > 0.0) {
+ bw->count_ --;
+
+ if (bw->count_ <= 0) {
+ bw->redraw();
+ bw->count_ = BLOCK_SIZE;
+
+ if (bw->num_columns_ == BLOCK_COLS) {
+ bw->interval_ = -1.0;
+ bw->sound_->play_explosion(0.8);
+ bw->play_button_->label("@>");
+ } else {
+ bw->opened_columns_ ++;
+
+ if (bw->opened_columns_ > (2 * BLOCK_COLS)) {
+ bw->interval_ *= 0.95;
+ bw->opened_columns_ = 0;
+
+ if (bw->num_colors_ < 7) bw->num_colors_ ++;
+
+ bw->level_ ++;
+ sprintf(bw->title_, "Level: %d", bw->level_);
+ bw->title_y_ = bw->h();
+ }
+
+ c = bw->columns_;
+
+ if (bw->num_columns_) {
+ memmove(c + 1, c, bw->num_columns_ * sizeof(Column));
+ }
+
+ bw->num_columns_ ++;
+ c->x = 0;
+ c->num_blocks = BLOCK_ROWS;
+
+ for (j = 0, b = c->blocks; j < BLOCK_ROWS; j ++, b ++) {
+ b->bomb = bw->num_colors_ > 3 && (rand() & 127) < bw->num_colors_;
+ b->color = 1 + (rand() % bw->num_colors_);
+ b->y = j * (BLOCK_SIZE + 8) + 24;
+ }
+ }
+ }
+ }
+ else
+ {
+ bw->count_ --;
+
+ if (bw->count_ <= 0) {
+ bw->count_ = 40;
+ bw->redraw();
+ }
+ }
+
+ // Update the play/pause button as needed...
+ if ((bw->paused_ || bw->interval_< 0.0) &&
+ bw->play_button_->w() < 80) {
+ int s = bw->play_button_->w() + 10;
+
+ bw->play_button_->resize(s, (s - 20) * (bw->h() - s) / 120, s, s);
+ bw->play_button_->labelsize(s / 2 + 4);
+ bw->redraw();
+ } else if ((!bw->paused_ && bw->interval_ > 0.0) &&
+ bw->play_button_->w() > 20) {
+ int s = bw->play_button_->w() - 5;
+
+ bw->play_button_->resize(s, (s - 20) * (bw->h() - s) / 120, s, s);
+ bw->play_button_->labelsize(s / 2 + 4);
+ bw->redraw();
+ }
+
+ if (bw->interval_ > 0.0) {
+ Fl::repeat_timeout(bw->interval_, (Fl_Timeout_Handler)timeout_cb,
+ (void *)bw);
+ } else {
+ Fl::repeat_timeout(0.1, (Fl_Timeout_Handler)timeout_cb,
+ (void *)bw);
+ }
+}
+
+
+//
+// End of "$Id: blocks.cxx 5374 2006-08-28 14:45:20Z mike $".
+//
diff --git a/test/boxtype.cxx b/test/boxtype.cxx
index a27c714..038427e 100644
--- a/test/boxtype.cxx
+++ b/test/boxtype.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: boxtype.cxx 4626 2005-11-02 13:57:56Z matt $"
+// "$Id: boxtype.cxx 5671 2007-02-08 07:58:47Z matt $"
//
// Boxtype test program for the Fast Light Tool Kit (FLTK).
//
@@ -28,13 +28,13 @@
#include <stdlib.h>
#include <stdio.h>
#include <FL/Fl.H>
-#include <FL/Fl_Single_Window.H>
+#include <FL/Fl_Double_Window.H>
#include <FL/Fl_Box.H>
int N = 0;
#define W 200
#define H 50
-#define ROWS 10
+#define ROWS 14
Fl_Window *window;
@@ -50,7 +50,7 @@ void bt(const char *name, Fl_Boxtype type, int square=0) {
}
int main(int argc, char ** argv) {
- window = new Fl_Single_Window(4*W,ROWS*H);
+ window = new Fl_Double_Window(4*W,ROWS*H);
window->box(FL_FLAT_BOX);
#if 0 // this code uses the command line arguments to set arbitrary color schemes
Fl::args(argc, argv);
@@ -60,6 +60,7 @@ int main(int argc, char ** argv) {
Fl::get_system_colors();
Fl::background(113,113,198);
#else // this code uses the nice bright blue background to show box vs. frame types
+ Fl::args(argc, argv);
Fl::get_system_colors();
window->color(12);// light blue
#endif
@@ -94,12 +95,28 @@ int main(int argc, char ** argv) {
bt("FL_ROUND_DOWN_BOX",FL_ROUND_DOWN_BOX);
bt("FL_DIAMOND_UP_BOX",FL_DIAMOND_UP_BOX);
bt("FL_DIAMOND_DOWN_BOX",FL_DIAMOND_DOWN_BOX);
+
bt("FL_PLASTIC_UP_BOX",FL_PLASTIC_UP_BOX);
bt("FL_PLASTIC_DOWN_BOX",FL_PLASTIC_DOWN_BOX);
bt("FL_PLASTIC_UP_FRAME",FL_PLASTIC_UP_FRAME);
bt("FL_PLASTIC_DOWN_FRAME",FL_PLASTIC_DOWN_FRAME);
bt("FL_PLASTIC_THIN_UP_BOX",FL_PLASTIC_THIN_UP_BOX);
bt("FL_PLASTIC_THIN_DOWN_BOX",FL_PLASTIC_THIN_DOWN_BOX);
+ N += 2;
+ bt("FL_PLASTIC_ROUND_UP_BOX",FL_PLASTIC_ROUND_UP_BOX);
+ bt("FL_PLASTIC_ROUND_DOWN_BOX",FL_PLASTIC_ROUND_DOWN_BOX);
+ N += 2;
+
+ bt("FL_GTK_UP_BOX",FL_GTK_UP_BOX);
+ bt("FL_GTK_DOWN_BOX",FL_GTK_DOWN_BOX);
+ bt("FL_GTK_UP_FRAME",FL_GTK_UP_FRAME);
+ bt("FL_GTK_DOWN_FRAME",FL_GTK_DOWN_FRAME);
+ bt("FL_GTK_THIN_UP_BOX",FL_GTK_THIN_UP_BOX);
+ bt("FL_GTK_THIN_DOWN_BOX",FL_GTK_THIN_DOWN_BOX);
+ bt("FL_GTK_THIN_UP_FRAME",FL_GTK_THIN_UP_FRAME);
+ bt("FL_GTK_THIN_DOWN_FRAME",FL_GTK_THIN_DOWN_FRAME);
+ bt("FL_GTK_ROUND_UP_BOX",FL_GTK_ROUND_UP_BOX);
+ bt("FL_GTK_ROUND_DOWN_BOX",FL_GTK_ROUND_DOWN_BOX);
window->resizable(window);
window->end();
window->show();
@@ -107,5 +124,5 @@ int main(int argc, char ** argv) {
}
//
-// End of "$Id: boxtype.cxx 4626 2005-11-02 13:57:56Z matt $".
+// End of "$Id: boxtype.cxx 5671 2007-02-08 07:58:47Z matt $".
//
diff --git a/test/browser.cxx b/test/browser.cxx
index 4af3898..d057c8a 100644
--- a/test/browser.cxx
+++ b/test/browser.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: browser.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: browser.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Browser test program for the Fast Light Tool Kit (FLTK).
//
@@ -177,6 +177,6 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: browser.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: browser.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/button.cxx b/test/button.cxx
index 80a63a7..dc4d898 100644
--- a/test/button.cxx
+++ b/test/button.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: button.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: button.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Button/callback test program for the Fast Light Tool Kit (FLTK).
//
@@ -64,5 +64,5 @@ int main(int argc, char ** argv) {
}
//
-// End of "$Id: button.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: button.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/buttons.cxx b/test/buttons.cxx
index a622e45..d68d347 100644
--- a/test/buttons.cxx
+++ b/test/buttons.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: buttons.cxx 4640 2005-11-06 09:55:36Z matt $"
+// "$Id: buttons.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Another button test program for the Fast Light Tool Kit (FLTK).
//
@@ -51,5 +51,5 @@ int main(int argc, char ** argv) {
}
//
-// End of "$Id: buttons.cxx 4640 2005-11-06 09:55:36Z matt $".
+// End of "$Id: buttons.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/checkers.cxx b/test/checkers.cxx
index b092387..f1a3f38 100644
--- a/test/checkers.cxx
+++ b/test/checkers.cxx
@@ -1,10 +1,10 @@
//
-// "$Id: checkers.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: checkers.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Checkers game for the Fast Light Tool Kit (FLTK).
//
// Hours of fun: the FLTK checkers game!
-// Based on a very old algorithim, but it still works!
+// Based on a very old algorithm, but it still works!
//
// Copyright 1998-2005 by Bill Spitzak and others.
//
@@ -871,22 +871,22 @@ int VT100main() {
// rather tedious and perhaps fltk should provide a direct support
// to do this:
-#include "black_1.xbm"
-#include "black_2.xbm"
-#include "black_3.xbm"
-#include "black_4.xbm"
-#include "white_1.xbm"
-#include "white_2.xbm"
-#include "white_3.xbm"
-#include "white_4.xbm"
-#include "blackking_1.xbm"
-#include "blackking_2.xbm"
-#include "blackking_3.xbm"
-#include "blackking_4.xbm"
-#include "whiteking_1.xbm"
-#include "whiteking_2.xbm"
-#include "whiteking_3.xbm"
-#include "whiteking_4.xbm"
+#include "pixmaps/black_1.xbm"
+#include "pixmaps/black_2.xbm"
+#include "pixmaps/black_3.xbm"
+#include "pixmaps/black_4.xbm"
+#include "pixmaps/white_1.xbm"
+#include "pixmaps/white_2.xbm"
+#include "pixmaps/white_3.xbm"
+#include "pixmaps/white_4.xbm"
+#include "pixmaps/blackking_1.xbm"
+#include "pixmaps/blackking_2.xbm"
+#include "pixmaps/blackking_3.xbm"
+#include "pixmaps/blackking_4.xbm"
+#include "pixmaps/whiteking_1.xbm"
+#include "pixmaps/whiteking_2.xbm"
+#include "pixmaps/whiteking_3.xbm"
+#include "pixmaps/whiteking_4.xbm"
Fl_Bitmap *bm[4][4];
@@ -1357,5 +1357,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: checkers.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: checkers.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/clock.cxx b/test/clock.cxx
index 5e6adbb..34db91d 100644
--- a/test/clock.cxx
+++ b/test/clock.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: clock.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: clock.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Clock test program for the Fast Light Tool Kit (FLTK).
//
@@ -49,5 +49,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: clock.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: clock.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/colbrowser.cxx b/test/colbrowser.cxx
index d2f1fa8..a3856b5 100644
--- a/test/colbrowser.cxx
+++ b/test/colbrowser.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: colbrowser.cxx 4356 2005-05-17 20:03:29Z matt $"
+// "$Id: colbrowser.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Forms test program for the Fast Light Tool Kit (FLTK).
//
@@ -326,5 +326,5 @@ create_form_cl(void)
}
//
-// End of "$Id: colbrowser.cxx 4356 2005-05-17 20:03:29Z matt $".
+// End of "$Id: colbrowser.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/color_chooser.cxx b/test/color_chooser.cxx
index ceee2aa..521f936 100644
--- a/test/color_chooser.cxx
+++ b/test/color_chooser.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: color_chooser.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: color_chooser.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Color chooser test program for the Fast Light Tool Kit (FLTK).
//
@@ -148,5 +148,5 @@ int main(int argc, char ** argv) {
}
//
-// End of "$Id: color_chooser.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: color_chooser.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/connect.cxx b/test/connect.cxx
index d335077..8130cad 100644
--- a/test/connect.cxx
+++ b/test/connect.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: connect.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: connect.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// PPP example program for the Fast Light Tool Kit (FLTK).
//
@@ -73,5 +73,5 @@ int main(int argc, char ** argv) {
}
//
-// End of "$Id: connect.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: connect.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/cube.cxx b/test/cube.cxx
index 57f161b..7bce35b 100644
--- a/test/cube.cxx
+++ b/test/cube.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: cube.cxx 4634 2005-11-04 08:23:20Z matt $"
+// "$Id: cube.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Another forms test program for the Fast Light Tool Kit (FLTK).
//
@@ -195,5 +195,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: cube.cxx 4634 2005-11-04 08:23:20Z matt $".
+// End of "$Id: cube.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/cursor.cxx b/test/cursor.cxx
index 5ce08a7..b817835 100644
--- a/test/cursor.cxx
+++ b/test/cursor.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: cursor.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: cursor.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Cursor test program for the Fast Light Tool Kit (FLTK).
//
@@ -39,7 +39,7 @@ Fl_Cursor cursor = FL_CURSOR_DEFAULT;
Fl_Hor_Value_Slider *cursor_slider;
void choice_cb(Fl_Widget *, void *v) {
- cursor = (Fl_Cursor)(int)v;
+ cursor = (Fl_Cursor)(long)v;
cursor_slider->value(cursor);
fl_cursor(cursor,fg,bg);
}
@@ -161,5 +161,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: cursor.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: cursor.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/curve.cxx b/test/curve.cxx
index 1f74580..62b6e3f 100644
--- a/test/curve.cxx
+++ b/test/curve.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: curve.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: curve.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Curve test program for the Fast Light Tool Kit (FLTK).
//
@@ -111,5 +111,5 @@ int main(int argc, char** argv) {
}
//
-// End of "$Id: curve.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: curve.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/demo.cxx b/test/demo.cxx
index 6821ac6..e225323 100644
--- a/test/demo.cxx
+++ b/test/demo.cxx
@@ -1,9 +1,9 @@
//
-// "$Id: demo.cxx 4723 2005-12-30 10:13:17Z matt $"
+// "$Id: demo.cxx 5712 2007-02-23 19:27:43Z matt $"
//
// Main demo program for the Fast Light Tool Kit (FLTK).
//
-// Copyright 1998-2005 by Bill Spitzak and others.
+// Copyright 1998-2007 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
@@ -30,10 +30,12 @@
#include <stdlib.h>
#if defined(WIN32) && !defined(__CYGWIN__)
# include <direct.h>
+# ifndef __WATCOMC__
// Visual C++ 2005 incorrectly displays a warning about the use of POSIX APIs
// on Windows, which is supposed to be POSIX compliant...
-# define chdir _chdir
-# define putenv _putenv
+# define chdir _chdir
+# define putenv _putenv
+# endif // !__WATCOMC__
#else
# include <unistd.h>
#endif
@@ -41,6 +43,7 @@
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Button.H>
+#include <FL/Fl_Choice.H>
#include <FL/filename.H>
#include <FL/x.H>
@@ -49,33 +52,46 @@
void doexit(Fl_Widget *, void *);
void doback(Fl_Widget *, void *);
void dobut(Fl_Widget *, long);
+void doscheme(Fl_Choice *c, void *) {
+ Fl::scheme(c->text(c->value()));
+}
Fl_Window *form;
Fl_Button *but[9];
void create_the_forms() {
Fl_Widget *obj;
- form = new Fl_Window(370, 450);
- obj = new Fl_Box(FL_FRAME_BOX,20,390,330,40,"FLTK Demonstration");
+ form = new Fl_Window(350, 440);
+ obj = new Fl_Box(FL_FRAME_BOX,10,385,330,40,"FLTK Demonstration");
obj->color(FL_GRAY-4);
obj->labelsize(24);
obj->labelfont(FL_BOLD);
obj->labeltype(FL_ENGRAVED_LABEL);
- obj = new Fl_Box(FL_FRAME_BOX,20,50,330,330,0);
+ obj = new Fl_Box(FL_FRAME_BOX,10,45,330,330,0);
obj->color(FL_GRAY-8);
- obj = new Fl_Button(130,10,110,30,"Exit");
+ obj = new Fl_Button(280,10,60,25,"Exit");
obj->callback(doexit);
- obj = new Fl_Button(20,50,330,380); obj->type(FL_HIDDEN_BUTTON);
+ Fl_Choice *choice = new Fl_Choice(75, 10, 100, 25, "Scheme:");
+ choice->labelfont(FL_HELVETICA_BOLD);
+ choice->add("none");
+ choice->add("gtk+");
+ choice->add("plastic");
+ choice->callback((Fl_Callback *)doscheme);
+ Fl::scheme(NULL);
+ if (!Fl::scheme()) choice->value(0);
+ else if (!strcmp(Fl::scheme(), "gtk+")) choice->value(1);
+ else choice->value(2);
+ obj = new Fl_Button(10,45,330,380); obj->type(FL_HIDDEN_BUTTON);
obj->callback(doback);
- obj = but[0] = new Fl_Button(40,270,90,90);
- obj = but[1] = new Fl_Button(140,270,90,90);
- obj = but[2] = new Fl_Button(240,270,90,90);
- obj = but[5] = new Fl_Button(240,170,90,90);
- obj = but[4] = new Fl_Button(140,170,90,90);
- obj = but[3] = new Fl_Button(40,170,90,90);
- obj = but[6] = new Fl_Button(40,70,90,90);
- obj = but[7] = new Fl_Button(140,70,90,90);
- obj = but[8] = new Fl_Button(240,70,90,90);
+ obj = but[0] = new Fl_Button(30,265,90,90);
+ obj = but[1] = new Fl_Button(130,265,90,90);
+ obj = but[2] = new Fl_Button(230,265,90,90);
+ obj = but[5] = new Fl_Button(230,165,90,90);
+ obj = but[4] = new Fl_Button(130,165,90,90);
+ obj = but[3] = new Fl_Button(30,165,90,90);
+ obj = but[6] = new Fl_Button(30,65,90,90);
+ obj = but[7] = new Fl_Button(130,65,90,90);
+ obj = but[8] = new Fl_Button(230,65,90,90);
for (int i=0; i<9; i++) {
but[i]->align(FL_ALIGN_WRAP);
but[i]->callback(dobut, i);
@@ -290,6 +306,14 @@ int load_the_menu(const char* fname)
}
for (;;) {
if (fgets(line,256,fin) == NULL) break;
+ // remove all carriage returns that Cygwin may have inserted
+ char *s = line, *d = line;
+ for (;;++d) {
+ while (*s=='\r') s++;
+ *d = *s++;
+ if (!*d) break;
+ }
+ // interprete the line
j = 0; i = 0;
while (line[i] == ' ' || line[i] == '\t') i++;
if (line[i] == '\n') continue;
@@ -321,7 +345,6 @@ int load_the_menu(const char* fname)
int main(int argc, char **argv) {
putenv((char *)"FLTK_DOCDIR=../documentation");
- create_the_forms();
char buf[256];
strcpy(buf, argv[0]);
#if ( defined _MSC_VER || defined __MWERKS__ ) && defined _DEBUG
@@ -336,6 +359,8 @@ int main(int argc, char **argv) {
Fl::fatal("Usage: %s <switches> <menufile>\n%s",argv[0],Fl::help);
if (i < argc) fname = argv[i];
+ create_the_forms();
+
if (!load_the_menu(fname)) Fl::fatal("Can't open %s",fname);
if (buf!=fname)
strcpy(buf,fname);
@@ -348,6 +373,6 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: demo.cxx 4723 2005-12-30 10:13:17Z matt $".
+// End of "$Id: demo.cxx 5712 2007-02-23 19:27:43Z matt $".
//
diff --git a/test/demo.menu b/test/demo.menu
index 4842d84..be4e8db 100644
--- a/test/demo.menu
+++ b/test/demo.menu
@@ -58,6 +58,7 @@
@e:Mandelbrot:mandelbrot
@e:Fractals:fractals
@e:Puzzle:glpuzzle
+ @e:Block\nAttack!:blocks
@e:Checkers:checkers
@e:Sudoku:sudoku
diff --git a/test/desktop/blocks-128.png b/test/desktop/blocks-128.png
new file mode 100644
index 0000000..41e6d00
--- /dev/null
+++ b/test/desktop/blocks-128.png
Binary files differ
diff --git a/test/desktop/blocks-32.png b/test/desktop/blocks-32.png
new file mode 100644
index 0000000..073bc0f
--- /dev/null
+++ b/test/desktop/blocks-32.png
Binary files differ
diff --git a/test/desktop/blocks.desktop b/test/desktop/blocks.desktop
new file mode 100644
index 0000000..f606d4d
--- /dev/null
+++ b/test/desktop/blocks.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=Block Attack!
+Comment=Block Attack! Game
+TryExec=blocks
+Exec=blocks
+Icon=blocks
+Terminal=false
+Type=Application
+Encoding=UTF-8
+Categories=Application;Game
diff --git a/test/checkers-128.png b/test/desktop/checkers-128.png
index ed02527..ed02527 100644
--- a/test/checkers-128.png
+++ b/test/desktop/checkers-128.png
Binary files differ
diff --git a/test/checkers-32.png b/test/desktop/checkers-32.png
index 4adcd66..4adcd66 100644
--- a/test/checkers-32.png
+++ b/test/desktop/checkers-32.png
Binary files differ
diff --git a/test/checkers.desktop b/test/desktop/checkers.desktop
index 5e6e55b..5e6e55b 100644
--- a/test/checkers.desktop
+++ b/test/desktop/checkers.desktop
diff --git a/test/sudoku-128.png b/test/desktop/sudoku-128.png
index 070a410..070a410 100644
--- a/test/sudoku-128.png
+++ b/test/desktop/sudoku-128.png
Binary files differ
diff --git a/test/sudoku-32.png b/test/desktop/sudoku-32.png
index 154c273..154c273 100644
--- a/test/sudoku-32.png
+++ b/test/desktop/sudoku-32.png
Binary files differ
diff --git a/test/sudoku.desktop b/test/desktop/sudoku.desktop
index 36e4fc5..36e4fc5 100644
--- a/test/sudoku.desktop
+++ b/test/desktop/sudoku.desktop
diff --git a/test/doublebuffer.cxx b/test/doublebuffer.cxx
index 3b532b1..1154ab0 100644
--- a/test/doublebuffer.cxx
+++ b/test/doublebuffer.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: doublebuffer.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: doublebuffer.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Double-buffering test program for the Fast Light Tool Kit (FLTK).
//
@@ -124,5 +124,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: doublebuffer.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: doublebuffer.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/editor.cxx b/test/editor.cxx
index e3f642a..0966a72 100644
--- a/test/editor.cxx
+++ b/test/editor.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: editor.cxx 4723 2005-12-30 10:13:17Z matt $"
+// "$Id: editor.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// A simple text editor program for the Fast Light Tool Kit (FLTK).
//
@@ -616,7 +616,7 @@ void close_cb(Fl_Widget*, void* v) {
w->hide();
textbuf->remove_modify_callback(changed_cb, w);
- delete w;
+ Fl::delete_widget(w);
num_windows--;
if (!num_windows) exit(0);
}
@@ -791,5 +791,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: editor.cxx 4723 2005-12-30 10:13:17Z matt $".
+// End of "$Id: editor.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/file_chooser.cxx b/test/file_chooser.cxx
index d421872..024b04d 100644
--- a/test/file_chooser.cxx
+++ b/test/file_chooser.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: file_chooser.cxx 4410 2005-07-11 20:31:59Z matt $"
+// "$Id: file_chooser.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// File chooser test program.
//
@@ -340,5 +340,5 @@ show_callback(void)
//
-// End of "$Id: file_chooser.cxx 4410 2005-07-11 20:31:59Z matt $".
+// End of "$Id: file_chooser.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/fl_jpeg_image.cxx b/test/fl_jpeg_image.cxx
index caba916..c701dfc 100644
--- a/test/fl_jpeg_image.cxx
+++ b/test/fl_jpeg_image.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: fl_jpeg_image.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: fl_jpeg_image.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// fl_draw_image test program for the Fast Light Tool Kit (FLTK).
//
@@ -199,5 +199,5 @@ void readtheimage(const char *name) {
#endif
//
-// End of "$Id: fl_jpeg_image.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: fl_jpeg_image.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/fonts.cxx b/test/fonts.cxx
index e58a44f..a7f34f7 100644
--- a/test/fonts.cxx
+++ b/test/fonts.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: fonts.cxx 4626 2005-11-02 13:57:56Z matt $"
+// "$Id: fonts.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Font demo program for the Fast Light Tool Kit (FLTK).
//
@@ -179,5 +179,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: fonts.cxx 4626 2005-11-02 13:57:56Z matt $".
+// End of "$Id: fonts.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/forms.cxx b/test/forms.cxx
index eceb13b..2536e8a 100644
--- a/test/forms.cxx
+++ b/test/forms.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: forms.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: forms.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Another forms demo for the Fast Light Tool Kit (FLTK).
//
@@ -69,7 +69,7 @@ static VN_struct btypes[]=
{-1}
};
-#include "srs.xbm"
+#include "pixmaps/srs.xbm"
/*************** Callback **********************/
@@ -233,5 +233,5 @@ main (int argc, char *argv[])
}
//
-// End of "$Id: forms.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: forms.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/fractals.cxx b/test/fractals.cxx
index a66c05f..6f71979 100644
--- a/test/fractals.cxx
+++ b/test/fractals.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: fractals.cxx 4342 2005-05-12 19:16:27Z mike $"
+// "$Id: fractals.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Fractal drawing demo for the Fast Light Tool Kit (FLTK).
//
@@ -64,11 +64,7 @@ int main(int, char**) {
*/
#include <FL/glut.H>
-#ifdef __APPLE__
-# include <OpenGL/glu.h>
-#else
-# include <GL/glu.h> // added for FLTK
-#endif
+#include <FL/glu.h>
#include <stdio.h>
#include <stdlib.h>
@@ -95,7 +91,7 @@ typedef enum { NOTALLOWED, MOUNTAIN, TREE, ISLAND, BIGMTN, STEM, LEAF,
#define MAXLEVEL 8
int Rebuild = 1, /* Rebuild display list in next display? */
- Fract = TREE, /* What fractal are we building */
+ fractal = TREE, /* What fractal are we building */
Level = 4; /* levels of recursion for fractals */
int DrawAxes = 0;
@@ -642,11 +638,11 @@ void display(void)
glLoadIdentity();
if (Rebuild) {
- Create(Fract);
+ Create(fractal);
Rebuild = 0;
}
- glCallList(Fract);
+ glCallList(fractal);
if (DrawAxes)
glCallList(AXES);
@@ -713,7 +709,7 @@ void setlevel(int value)
void choosefract(int value)
{
- Fract = value;
+ fractal = value;
Rebuild = 1;
glutPostRedisplay();
}
@@ -842,5 +838,5 @@ int main(int argc, char** argv)
#endif
//
-// End of "$Id: fractals.cxx 4342 2005-05-12 19:16:27Z mike $".
+// End of "$Id: fractals.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/fracviewer.cxx b/test/fracviewer.cxx
index 3a45206..bc45cc0 100644
--- a/test/fracviewer.cxx
+++ b/test/fracviewer.cxx
@@ -16,11 +16,7 @@
#if HAVE_GL && HAVE_GL_GLU_H
# include <FL/glut.H>
-# ifdef __APPLE__
-# include <OpenGL/glu.h>
-# else
-# include <GL/glu.h> // added for FLTK
-# endif
+# include <FL/glu.h>
# include <stdio.h>
# include <stdlib.h>
diff --git a/test/fullscreen.cxx b/test/fullscreen.cxx
index 15ecbbe..a2c0077 100644
--- a/test/fullscreen.cxx
+++ b/test/fullscreen.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: fullscreen.cxx 4666 2005-11-28 15:35:18Z matt $"
+// "$Id: fullscreen.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Fullscreen test program for the Fast Light Tool Kit (FLTK).
//
@@ -247,5 +247,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: fullscreen.cxx 4666 2005-11-28 15:35:18Z matt $".
+// End of "$Id: fullscreen.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/gl_overlay.cxx b/test/gl_overlay.cxx
index f4cf35f..808d2ba 100644
--- a/test/gl_overlay.cxx
+++ b/test/gl_overlay.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: gl_overlay.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: gl_overlay.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// OpenGL overlay test program for the Fast Light Tool Kit (FLTK).
//
@@ -153,5 +153,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: gl_overlay.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: gl_overlay.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/glpuzzle.cxx b/test/glpuzzle.cxx
index 0c2f7ea..f4d1ca4 100644
--- a/test/glpuzzle.cxx
+++ b/test/glpuzzle.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: glpuzzle.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: glpuzzle.cxx 5620 2007-01-18 20:26:53Z matt $"
//
// OpenGL puzzle demo for the Fast Light Tool Kit (FLTK).
//
@@ -47,11 +47,7 @@ int main(int, char**) {
#include <time.h>
#include <math.h>
#include <FL/glut.H> // changed for fltk
-#ifdef __APPLE__
-# include <OpenGL/glu.h>
-#else
-# include <GL/glu.h> // added for fltk
-#endif
+#include <FL/glu.h> // added for fltk
#include "trackball.c" // changed from trackball.h for fltk
#define WIDTH 4
@@ -1314,7 +1310,7 @@ animate(void)
glutSetWindowTitle("glpuzzle");
}
}
- if (!solving && !spinning && !visible) {
+ if ((!solving && !spinning) || !visible) {
glutIdleFunc(NULL);
}
}
@@ -1486,5 +1482,5 @@ main(int argc, char **argv)
#endif // added for fltk's distribution
//
-// End of "$Id: glpuzzle.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: glpuzzle.cxx 5620 2007-01-18 20:26:53Z matt $".
//
diff --git a/test/hello.cxx b/test/hello.cxx
index 4fa8a68..f8b49fb 100644
--- a/test/hello.cxx
+++ b/test/hello.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: hello.cxx 4650 2005-11-18 10:08:13Z matt $"
+// "$Id: hello.cxx 5614 2007-01-18 15:25:09Z matt $"
//
// Hello, World! program for the Fast Light Tool Kit (FLTK).
//
@@ -28,8 +28,11 @@
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
+#include <FL/filename.H>
int main(int argc, char **argv) {
+ char b[1024];
+ fl_filename_relative(b, 1024, "/Users/matt/proj/source");
Fl_Window *window = new Fl_Window(300,180);
Fl_Box *box = new Fl_Box(FL_UP_BOX,20,40,260,100,"Hello, World!");
box->labelfont(FL_BOLD+FL_ITALIC);
@@ -41,5 +44,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: hello.cxx 4650 2005-11-18 10:08:13Z matt $".
+// End of "$Id: hello.cxx 5614 2007-01-18 15:25:09Z matt $".
//
diff --git a/test/help.cxx b/test/help.cxx
index 679abe9..ea09eff 100644
--- a/test/help.cxx
+++ b/test/help.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: help.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: help.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Fl_Help_Dialog test program.
//
@@ -65,5 +65,5 @@ main(int argc, // I - Number of command-line arguments
//
-// End of "$Id: help.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: help.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/iconize.cxx b/test/iconize.cxx
index a1c7eee..2709994 100644
--- a/test/iconize.cxx
+++ b/test/iconize.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: iconize.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: iconize.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Iconize test program for the Fast Light Tool Kit (FLTK).
//
@@ -79,5 +79,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: iconize.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: iconize.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/image.cxx b/test/image.cxx
index 0ce4db7..0592c40 100644
--- a/test/image.cxx
+++ b/test/image.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: image.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: image.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Fl_Image test program for the Fast Light Tool Kit (FLTK).
//
@@ -157,5 +157,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: image.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: image.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/input.cxx b/test/input.cxx
index 9366af4..46a8fc2 100644
--- a/test/input.cxx
+++ b/test/input.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: input.cxx 4626 2005-11-02 13:57:56Z matt $"
+// "$Id: input.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Input field test program for the Fast Light Tool Kit (FLTK).
//
@@ -61,7 +61,7 @@ void button_cb(Fl_Widget *,void *) {
void color_cb(Fl_Widget* button, void* v) {
Fl_Color c;
- switch ((int)v) {
+ switch ((long)v) {
case 0: c = FL_BACKGROUND2_COLOR; break;
case 1: c = FL_SELECTION_COLOR; break;
default: c = FL_FOREGROUND_COLOR; break;
@@ -138,5 +138,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: input.cxx 4626 2005-11-02 13:57:56Z matt $".
+// End of "$Id: input.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/input_choice.cxx b/test/input_choice.cxx
index 39fc404..c73574f 100644
--- a/test/input_choice.cxx
+++ b/test/input_choice.cxx
@@ -1,9 +1,9 @@
//
-// "$Id$"
+// "$Id: input_choice.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Test program for Fl_Input_Choice
//
-// Copyright 1998-2005 by Bill Spitzak and others.
+// Copyright 1998-2006 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
@@ -40,7 +40,6 @@ void input_choice_cb(Fl_Widget*,void*data) {
}
int main(int argc, char **argv) {
- Fl::scheme("plastic"); // optional
Fl_Window win(300, 200);
Fl_Input_Choice in(40,40,100,28,"Test");
@@ -61,5 +60,5 @@ int main(int argc, char **argv) {
//
-// End of "$Id$".
+// End of "$Id: input_choice.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/keyboard.cxx b/test/keyboard.cxx
index acc5071..7ba2103 100644
--- a/test/keyboard.cxx
+++ b/test/keyboard.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: keyboard.cxx 4301 2005-04-28 17:48:04Z mike $"
+// "$Id: keyboard.cxx 5702 2007-02-21 15:49:38Z matt $"
//
// Keyboard/event test program for the Fast Light Tool Kit (FLTK).
//
@@ -42,6 +42,9 @@
#include "keyboard_ui.h"
+#include <string.h>
+
+
// these are used to identify which buttons are which:
void key_cb(Fl_Button*, void*) {}
void shift_cb(Fl_Button*, void*) {}
@@ -100,17 +103,24 @@ int main(int argc, char** argv) {
Fl_Window *window = make_window();
window->show(argc,argv);
while (Fl::wait()) {
+ const char *str;
// update all the buttons with the current key and shift state:
for (int i = 0; i < window->children(); i++) {
Fl_Widget* b = window->child(i);
if (b->callback() == (Fl_Callback*)key_cb) {
- int i = int(b->user_data());
+ int i = (long)b->user_data();
if (!i) i = b->label()[0];
- ((Fl_Button*)b)->value(Fl::event_key(i));
+ Fl_Button *btn = ((Fl_Button*)b);
+ int state = Fl::event_key(i);
+ if (btn->value()!=state)
+ btn->value(state);
} else if (b->callback() == (Fl_Callback*)shift_cb) {
- int i = int(b->user_data());
- ((Fl_Button*)b)->value(Fl::event_state(i));
+ int i = (long)b->user_data();
+ Fl_Button *btn = ((Fl_Button*)b);
+ int state = Fl::event_state(i);
+ if (btn->value()!=state)
+ btn->value(state);
}
}
@@ -133,13 +143,16 @@ int main(int argc, char** argv) {
for (int i = 0; i < int(sizeof(table)/sizeof(*table)); i++)
if (table[i].n == k) {keyname = table[i].text; break;}
}
- key_output->value(keyname);
+ if (strcmp(key_output->value(), keyname))
+ key_output->value(keyname);
- text_output->value(Fl::event_text());
+ str = Fl::event_text();
+ if (strcmp(text_output->value(), str))
+ text_output->value(str);
}
return 0;
}
//
-// End of "$Id: keyboard.cxx 4301 2005-04-28 17:48:04Z mike $".
+// End of "$Id: keyboard.cxx 5702 2007-02-21 15:49:38Z matt $".
//
diff --git a/test/keyboard.h b/test/keyboard.h
index 3aa48a8..6775f79 100644
--- a/test/keyboard.h
+++ b/test/keyboard.h
@@ -1,5 +1,5 @@
//
-// "$Id: keyboard.h 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: keyboard.h 5519 2006-10-11 03:12:15Z mike $"
//
// Keyboard/event test header for the Fast Light Tool Kit (FLTK).
//
@@ -42,5 +42,5 @@ public:
//
-// End of "$Id: keyboard.h 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: keyboard.h 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/label.cxx b/test/label.cxx
index a6b1ddf..e827c85 100644
--- a/test/label.cxx
+++ b/test/label.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: label.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: label.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Label test program for the Fast Light Tool Kit (FLTK).
//
@@ -158,5 +158,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: label.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: label.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/line_style.cxx b/test/line_style.cxx
index 91a49d0..077cd89 100644
--- a/test/line_style.cxx
+++ b/test/line_style.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: line_style.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: line_style.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Line style demo for the Fast Light Tool Kit (FLTK).
//
@@ -54,10 +54,10 @@ void test_box::draw() {
buf[3] = char(sliders[7]->value());
buf[4] = 0;
fl_line_style(
- (int)(choice[0]->mvalue()->user_data()) +
- (int)(choice[1]->mvalue()->user_data()) +
- (int)(choice[2]->mvalue()->user_data()),
- (int)(sliders[3]->value()),
+ (long)(choice[0]->mvalue()->user_data()) +
+ (long)(choice[1]->mvalue()->user_data()) +
+ (long)(choice[2]->mvalue()->user_data()),
+ (long)(sliders[3]->value()),
buf);
fl_rect(10,10,w()-20,h()-20);
fl_begin_line();
@@ -150,5 +150,5 @@ int main(int argc, char **argv) {
//
-// End of "$Id: line_style.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: line_style.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/list_visuals.cxx b/test/list_visuals.cxx
index 2e33a1b..154cdfe 100644
--- a/test/list_visuals.cxx
+++ b/test/list_visuals.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: list_visuals.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: list_visuals.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Visual list utility for the Fast Light Tool Kit (FLTK).
//
@@ -237,5 +237,5 @@ int main(int argc, char **argv) {
#endif
//
-// End of "$Id: list_visuals.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: list_visuals.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/makedepend b/test/makedepend
index 8d77450..167b25d 100644
--- a/test/makedepend
+++ b/test/makedepend
@@ -1,361 +1,388 @@
-# DO NOT DELETE
-
-unittests.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H
-unittests.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
-unittests.o: ../FL/Fl_Window.H ../FL/Fl_Button.H ../FL/Fl_Box.H
-unittests.o: ../FL/fl_draw.H
-adjuster.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-adjuster.o: ../FL/Fl_Window.H ../FL/Fl_Adjuster.H ../FL/Fl_Valuator.H
-adjuster.o: ../FL/Fl_Widget.H ../FL/Fl_Box.H
-arc.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-arc.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-arc.o: ../FL/Fl_Widget.H ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H
-arc.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
-ask.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-ask.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Widget.H ../FL/Fl_Button.H
-ask.o: ../FL/Fl_Return_Button.H ../FL/Fl_Button.H ../FL/fl_ask.H
-bitmap.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-bitmap.o: ../FL/Fl_Button.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H
-bitmap.o: ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H
-boxtype.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-boxtype.o: ../FL/Fl_Single_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-boxtype.o: ../FL/Fl_Widget.H ../FL/Fl_Box.H
-browser.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-browser.o: ../FL/Fl_Select_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
-browser.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H
-browser.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Double_Window.H
-browser.o: ../FL/Fl_Window.H ../FL/Fl_Button.H ../FL/Fl_Int_Input.H
-browser.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_ask.H
-button.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-button.o: ../FL/Fl_Button.H
-buttons.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-buttons.o: ../FL/Fl_Window.H ../FL/Fl_Button.H ../FL/Fl_Return_Button.H
-buttons.o: ../FL/Fl_Button.H ../FL/Fl_Repeat_Button.H ../FL/Fl.H
-buttons.o: ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H
-buttons.o: ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Tooltip.H
-buttons.o: ../FL/Fl_Widget.H
-checkers.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-checkers.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-checkers.o: ../FL/Fl_Widget.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H
-checkers.o: ../FL/fl_draw.H ../FL/Fl_Menu_Item.H ../FL/fl_ask.H black_1.xbm
-checkers.o: black_2.xbm black_3.xbm black_4.xbm white_1.xbm white_2.xbm
-checkers.o: white_3.xbm white_4.xbm blackking_1.xbm blackking_2.xbm
-checkers.o: blackking_3.xbm blackking_4.xbm whiteking_1.xbm whiteking_2.xbm
-checkers.o: whiteking_3.xbm whiteking_4.xbm ../FL/Fl_Box.H ../FL/Fl_Slider.H
-checkers.o: ../FL/Fl_Valuator.H ../FL/Fl_Value_Output.H
-clock.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-clock.o: ../FL/Fl_Clock.H ../FL/Fl_Widget.H ../FL/Fl_Round_Clock.H
-clock.o: ../FL/Fl_Clock.H
-colbrowser.o: ../FL/forms.H ../FL/Fl.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
-colbrowser.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-colbrowser.o: ../FL/fl_draw.H ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H
-colbrowser.o: ../FL/Fl_Image.H ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H
-colbrowser.o: ../FL/Fl_Box.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
-colbrowser.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-colbrowser.o: ../FL/Fl_Button.H ../FL/Fl_Light_Button.H
-colbrowser.o: ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H
-colbrowser.o: ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
-colbrowser.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H
-colbrowser.o: ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H
-colbrowser.o: ../FL/fl_show_colormap.H ../FL/filename.H
-colbrowser.o: ../FL/Fl_File_Chooser.H ../FL/Fl.H ../FL/Fl_Double_Window.H
-colbrowser.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H
-colbrowser.o: ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H
-colbrowser.o: ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H ../FL/Fl_Box.H
-colbrowser.o: ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H ../FL/Fl_Input.H
-colbrowser.o: ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H ../FL/fl_ask.H
-colbrowser.o: ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H ../FL/Fl_Positioner.H
-colbrowser.o: ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H
-color_chooser.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-color_chooser.o: ../FL/Fl_Window.H ../FL/Fl_Box.H ../FL/Fl_Button.H
-color_chooser.o: ../FL/fl_show_colormap.H ../FL/Fl_Color_Chooser.H
-color_chooser.o: ../FL/Fl_Group.H ../FL/Fl_Return_Button.H ../FL/Fl_Button.H
-color_chooser.o: ../FL/Fl_Choice.H ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H
-color_chooser.o: ../FL/Fl_Widget.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
-color_chooser.o: ../FL/Fl_Image.H ../FL/x.H ../FL/Fl_Window.H
-color_chooser.o: ../FL/Fl_Group.H ../FL/fl_draw.H list_visuals.cxx
-color_chooser.o: ../config.h
-cube.o: ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-cube.o: ../FL/Fl_Window.H ../FL/Fl_Box.H ../FL/Fl_Button.H
-cube.o: ../FL/Fl_Radio_Light_Button.H ../FL/Fl_Light_Button.H
-cube.o: ../FL/Fl_Button.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-cube.o: ../FL/Fl_Widget.H ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H
-cube.o: ../FL/Fl_Group.H ../FL/gl.h
-CubeMain.o: ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-CubeMain.o: CubeViewUI.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
-CubeMain.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H
-CubeMain.o: ../FL/Fl_Roller.H ../FL/Fl_Valuator.H ../FL/Fl_Slider.H
-CubeMain.o: ../FL/Fl_Box.H CubeView.h ../FL/Fl_Gl_Window.H ../FL/gl.h
-CubeMain.o: ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H
-CubeView.o: CubeView.h ../config.h ../FL/Fl.H ../FL/Enumerations.H
-CubeView.o: ../FL/Fl_Export.H ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H
-CubeView.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/gl.h
-cursor.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-cursor.o: ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H
-cursor.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Widget.H
-cursor.o: ../FL/Fl_Choice.H ../FL/fl_draw.H ../FL/Fl_Box.H
-curve.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-curve.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-curve.o: ../FL/Fl_Widget.H ../FL/Fl_Hor_Value_Slider.H
-curve.o: ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-curve.o: ../FL/fl_draw.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H
-demo.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-demo.o: ../FL/Fl_Box.H ../FL/Fl_Button.H ../FL/filename.H ../FL/x.H
-demo.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
-doublebuffer.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-doublebuffer.o: ../FL/Fl_Single_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-doublebuffer.o: ../FL/Fl_Widget.H ../FL/Fl_Double_Window.H ../FL/Fl_Box.H
-doublebuffer.o: ../FL/fl_draw.H ../FL/Fl_Hor_Slider.H ../FL/Fl_Slider.H
-doublebuffer.o: ../FL/Fl_Valuator.H ../FL/math.h
-editor.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H
-editor.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-editor.o: ../FL/Fl_Widget.H ../FL/fl_ask.H ../FL/Fl_File_Chooser.H
-editor.o: ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H
-editor.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Button.H
-editor.o: ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H
-editor.o: ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H
-editor.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H
-editor.o: ../FL/Fl.H ../FL/filename.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H
-editor.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_File_Input.H
-editor.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H
-editor.o: ../FL/Fl_Menu_Bar.H ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Editor.H
-editor.o: ../FL/Fl_Text_Display.H ../FL/fl_draw.H ../FL/Fl_Text_Buffer.H
-fast_slow.o: fast_slow.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-fast_slow.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-fast_slow.o: ../FL/Fl_Widget.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-fast_slow.o: ../FL/Fl_Box.H
-file_chooser.o: ../FL/Fl_File_Chooser.H ../FL/Fl.H ../FL/Enumerations.H
-file_chooser.o: ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
-file_chooser.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H
-file_chooser.o: ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H
-file_chooser.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Button.H
-file_chooser.o: ../FL/Fl_Preferences.H ../FL/Fl_Tile.H
-file_chooser.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H
-file_chooser.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
-file_chooser.o: ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H
-file_chooser.o: ../FL/filename.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H
-file_chooser.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
-file_chooser.o: ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
-file_chooser.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/Fl_File_Icon.H
-file_chooser.o: ../FL/Fl_Shared_Image.H ../FL/Fl_PNM_Image.H
-file_chooser.o: ../FL/Fl_Light_Button.H
-fonts.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-fonts.o: ../FL/Fl_Hold_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
-fonts.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H
-fonts.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H ../FL/Fl_Box.H
-fonts.o: ../FL/fl_ask.H
-forms.o: ../FL/forms.H ../FL/Fl.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
-forms.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-forms.o: ../FL/fl_draw.H ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H
-forms.o: ../FL/Fl_Image.H ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H
-forms.o: ../FL/Fl_Box.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
-forms.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-forms.o: ../FL/Fl_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H
-forms.o: ../FL/Fl_Check_Button.H ../FL/Fl_Chart.H ../FL/Fl_Choice.H
-forms.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H
-forms.o: ../FL/Fl_Counter.H ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H
-forms.o: ../FL/fl_show_colormap.H ../FL/filename.H ../FL/Fl_File_Chooser.H
-forms.o: ../FL/Fl.H ../FL/Fl_Double_Window.H ../FL/Fl_Group.H
-forms.o: ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H
-forms.o: ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H
-forms.o: ../FL/Fl_File_Icon.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H
-forms.o: ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
-forms.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/Fl_Input.H
-forms.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H
-forms.o: ../FL/Fl_Timer.H srs.xbm
-fractals.o: ../config.h ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H
-fractals.o: ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H
-fractals.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H fracviewer.h
-fractals.o: ../FL/Fl_Button.H ../FL/Fl_Group.H ../FL/Fl_Window.H
-fullscreen.o: ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-fullscreen.o: ../FL/Fl_Single_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-fullscreen.o: ../FL/Fl_Widget.H ../FL/Fl_Hor_Slider.H ../FL/Fl_Slider.H
-fullscreen.o: ../FL/Fl_Valuator.H ../FL/Fl_Toggle_Light_Button.H
-fullscreen.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/math.h
-fullscreen.o: ../FL/gl.h ../FL/Fl_Gl_Window.H
-gl_overlay.o: ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-gl_overlay.o: ../FL/Fl_Window.H ../FL/Fl_Hor_Slider.H ../FL/Fl_Slider.H
-gl_overlay.o: ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/Fl_Toggle_Button.H
-gl_overlay.o: ../FL/Fl_Button.H ../FL/math.h ../FL/gl.h ../FL/Fl_Gl_Window.H
-gl_overlay.o: ../FL/Fl_Window.H ../FL/Fl_Group.H
-glpuzzle.o: ../config.h ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H
-glpuzzle.o: ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H
-glpuzzle.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H trackball.c
-glpuzzle.o: trackball.h
-hello.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-hello.o: ../FL/Fl_Box.H
-help.o: ../FL/Fl_Help_Dialog.H ../FL/Fl.H ../FL/Enumerations.H
-help.o: ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
-help.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Help_View.H ../FL/Fl.H
-help.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-help.o: ../FL/fl_draw.H ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H
-help.o: ../FL/Fl_Group.H ../FL/Fl_Button.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
-iconize.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-iconize.o: ../FL/Fl_Window.H ../FL/Fl_Button.H ../FL/Fl_Box.H
-image.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-image.o: ../FL/Fl_Button.H ../FL/Fl_Image.H ../FL/Fl_Toggle_Button.H
-image.o: ../FL/Fl_Button.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-image.o: ../FL/Fl_Widget.H list_visuals.cxx ../config.h
-inactive.o: inactive.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-inactive.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-inactive.o: ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Button.H
-inactive.o: ../FL/Fl_Light_Button.H ../FL/Fl_Check_Button.H
-inactive.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Round_Button.H
-inactive.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Input.H
-inactive.o: ../FL/Fl_Input_.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H
-inactive.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Value_Output.H
-inactive.o: ../FL/Fl_Box.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
-inactive.o: ../FL/Fl_Roller.H ../FL/Fl_Dial.H ../FL/Fl_Clock.H
-input.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-input.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Widget.H
-input.o: ../FL/Fl_Float_Input.H ../FL/Fl_Input.H ../FL/Fl_Int_Input.H
-input.o: ../FL/Fl_Secret_Input.H ../FL/Fl_Multiline_Input.H ../FL/Fl_Button.H
-input.o: ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Color_Chooser.H
-input.o: ../FL/Fl_Group.H ../FL/Fl_Box.H ../FL/Fl_Return_Button.H
-input.o: ../FL/Fl_Choice.H ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H
-input_choice.o: ../FL/Fl_Button.H ../FL/Fl_Window.H ../FL/Fl_Input_Choice.H
-input_choice.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-input_choice.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Widget.H
-input_choice.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H
-input_choice.o: ../FL/Fl_Image.H ../FL/fl_draw.H
-keyboard.o: keyboard_ui.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-keyboard.o: keyboard.h ../FL/Fl_Window.H ../FL/Fl_Button.H ../FL/Fl_Output.H
-keyboard.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Widget.H
-keyboard.o: ../FL/Fl_Box.H ../FL/Fl_Dial.H
-label.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-label.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-label.o: ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Hor_Value_Slider.H
-label.o: ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-label.o: ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Input.H
-label.o: ../FL/Fl_Input_.H ../FL/Fl_Choice.H ../FL/fl_draw.H
-line_style.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-line_style.o: ../FL/Fl_Window.H ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H
-line_style.o: ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/fl_draw.H
-line_style.o: ../FL/Fl_Choice.H
-list_visuals.o: ../config.h
-mandelbrot.o: mandelbrot_ui.h ../FL/Fl.H ../FL/Enumerations.H
-mandelbrot.o: ../FL/Fl_Export.H mandelbrot.h ../FL/Fl_Box.H ../FL/Fl_Slider.H
-mandelbrot.o: ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/Fl_Window.H
-mandelbrot.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Double_Window.H
-mandelbrot.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/fl_draw.H
-menubar.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Box.H
-menubar.o: ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H
-menubar.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H ../FL/Fl_Image.H
-menubar.o: ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Menu_Button.H
-menubar.o: ../FL/Fl_Choice.H ../src/flstring.h ../FL/Fl_Export.H ../config.h
-menubar.o: ../FL/fl_draw.H
-message.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-message.o: ../FL/Fl_Window.H ../FL/fl_ask.H
-minimum.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-minimum.o: ../FL/Fl_Window.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-minimum.o: ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Return_Button.H
-minimum.o: ../FL/Fl_Button.H
-navigation.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-navigation.o: ../FL/Fl_Window.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
-navigation.o: ../FL/Fl_Widget.H
-output.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-output.o: ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H ../FL/Fl_Widget.H
-output.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Window.H ../FL/Fl_Box.H
-output.o: ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H
-output.o: ../FL/Fl_Slider.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H
-output.o: ../FL/Fl_Input.H ../FL/fl_draw.H ../FL/Fl_Output.H
-output.o: ../FL/Fl_Multiline_Output.H ../FL/Fl_Output.H
-overlay.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-overlay.o: ../FL/Fl_Window.H ../FL/Fl_Overlay_Window.H
-overlay.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-overlay.o: ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/fl_draw.H
-pack.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Button.H
-pack.o: ../FL/Fl_Light_Button.H ../FL/Fl_Window.H ../FL/Fl_Scroll.H
-pack.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H
-pack.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Value_Slider.H
-pack.o: ../FL/Fl_Pack.H ../FL/Fl_Group.H
-pixmap_browser.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-pixmap_browser.o: ../FL/Fl_Box.H ../FL/Fl_Window.H ../FL/Fl_Button.H
-pixmap_browser.o: ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H
-pixmap_browser.o: ../FL/Fl_File_Chooser.H ../FL/Fl_Double_Window.H
-pixmap_browser.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
-pixmap_browser.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H
-pixmap_browser.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H
-pixmap_browser.o: ../FL/Fl_Preferences.H ../FL/Fl_Tile.H
-pixmap_browser.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H
-pixmap_browser.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
-pixmap_browser.o: ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H
-pixmap_browser.o: ../FL/filename.H ../FL/Fl_Check_Button.H
-pixmap_browser.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
-pixmap_browser.o: ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
-pixmap_browser.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/fl_message.H
-pixmap_browser.o: ../FL/fl_ask.H
-pixmap.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H
-pixmap.o: ../FL/Fl_Button.H ../FL/Fl_Pixmap.H ../FL/Fl_Image.H porsche.xpm
-pixmap.o: ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Multi_Label.H
-preferences.o: preferences.h ../FL/Fl.H ../FL/Enumerations.H
-preferences.o: ../FL/Fl_Export.H ../FL/Fl_Preferences.H
-preferences.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-preferences.o: ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Group.H
-preferences.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Choice.H
-preferences.o: ../FL/Fl_Round_Button.H ../FL/Fl_Light_Button.H
-preferences.o: ../FL/Fl_Button.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H
-preferences.o: ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-preferences.o: ../FL/filename.H ../FL/fl_ask.H
-radio.o: radio.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-radio.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-radio.o: ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Return_Button.H
-radio.o: ../FL/Fl_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Check_Button.H
-radio.o: ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Group.H
-resizebox.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-resizebox.o: ../FL/Fl_Single_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-resizebox.o: ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Radio_Button.H
-resizebox.o: ../FL/Fl_Button.H ../FL/fl_draw.H ../FL/fl_message.H
-resizebox.o: ../FL/fl_ask.H
-resize.o: resize.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-resize.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-resize.o: ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Box.H
-scroll.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-scroll.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-scroll.o: ../FL/Fl_Widget.H ../FL/Fl_Scroll.H ../FL/Fl_Scrollbar.H
-scroll.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Light_Button.H
-scroll.o: ../FL/Fl_Choice.H ../FL/Fl_Box.H ../FL/fl_draw.H ../FL/math.h
-shape.o: ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-shape.o: ../FL/Fl_Window.H ../FL/Fl_Hor_Slider.H ../FL/Fl_Slider.H
-shape.o: ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/math.h ../FL/gl.h
-shape.o: ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-subwindow.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-subwindow.o: ../FL/Fl_Window.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H
-subwindow.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H
-subwindow.o: ../FL/Fl_Widget.H ../FL/Fl_Image.H ../FL/Fl_Box.H
-subwindow.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_draw.H
-sudoku.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-sudoku.o: ../FL/Enumerations.H ../FL/Fl_Window.H ../FL/Fl_Button.H
-sudoku.o: ../FL/Fl_Group.H ../FL/fl_ask.H ../FL/fl_draw.H
-sudoku.o: ../FL/Fl_Help_Dialog.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
-sudoku.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Help_View.H ../FL/Fl.H
-sudoku.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-sudoku.o: ../FL/fl_draw.H ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H
-sudoku.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Preferences.H
-sudoku.o: ../FL/Fl_Sys_Menu_Bar.H ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H
-sudoku.o: ../FL/Fl_Menu_Item.H ../FL/x.H sudoku.xbm
-symbols.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-symbols.o: ../FL/Fl_Single_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-symbols.o: ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Value_Slider.H
-symbols.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
-tabs.o: tabs.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-tabs.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-tabs.o: ../FL/Fl_Widget.H ../FL/Fl_Tabs.H ../FL/Fl_Group.H ../FL/Fl_Input.H
-tabs.o: ../FL/Fl_Input_.H ../FL/Fl_Button.H ../FL/fl_ask.H ../FL/Fl_Clock.H
-tabs.o: ../FL/Fl_Return_Button.H ../FL/Fl_Button.H
-threads.o: ../config.h ../FL/fl_ask.H ../FL/Enumerations.H ../FL/Fl_Export.H
-tile.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-tile.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-tile.o: ../FL/Fl_Widget.H ../FL/Fl_Tile.H ../FL/Fl_Box.H
-tiled_image.o: ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-tiled_image.o: ../FL/Fl_Window.H ../FL/Fl_Button.H ../FL/Fl_Pixmap.H
-tiled_image.o: ../FL/Fl_Image.H ../FL/Fl_Tiled_Image.H tile.xpm ../FL/x.H
-tiled_image.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
-tiled_image.o: list_visuals.cxx ../config.h
-valuators.o: valuators.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H
-valuators.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
-valuators.o: ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Slider.H
-valuators.o: ../FL/Fl_Valuator.H ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H
-valuators.o: ../FL/Fl_Adjuster.H ../FL/Fl_Counter.H ../FL/Fl_Dial.H
-valuators.o: ../FL/Fl_Roller.H ../FL/Fl_Value_Input.H ../FL/Fl_Input.H
-valuators.o: ../FL/Fl_Input_.H ../FL/Fl_Value_Output.H ../FL/Fl_Scrollbar.H
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+unittests.o: unittests.cxx ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/Fl_Button.H ../FL/Fl_Box.H \
+ ../FL/fl_draw.H
+adjuster.o: adjuster.cxx ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Adjuster.H ../FL/Fl_Valuator.H ../FL/Fl_Box.H
+arc.o: arc.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H \
+ ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
+ask.o: ask.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Input.H \
+ ../FL/Fl_Input_.H ../FL/Fl_Button.H ../FL/Fl_Return_Button.H \
+ ../FL/Fl_Button.H ../FL/fl_ask.H
+bitmap.o: bitmap.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H \
+ ../FL/Fl_Bitmap.H ../FL/Fl_Image.H ../FL/Fl_Toggle_Button.H \
+ ../FL/Fl_Button.H
+blocks.o: blocks.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \
+ ../FL/Fl_XPM_Image.H ../FL/Fl_Pixmap.H ../FL/Fl_Image.H \
+ ../FL/Fl_XBM_Image.H ../FL/Fl_Bitmap.H ../FL/Fl_Tiled_Image.H \
+ ../FL/fl_draw.H ../FL/x.H ../config.h pixmaps/blast.xpm pixmaps/red.xpm \
+ pixmaps/red_bomb.xpm pixmaps/green.xpm pixmaps/green_bomb.xpm \
+ pixmaps/blue.xpm pixmaps/blue_bomb.xpm pixmaps/yellow.xpm \
+ pixmaps/yellow_bomb.xpm pixmaps/cyan.xpm pixmaps/cyan_bomb.xpm \
+ pixmaps/magenta.xpm pixmaps/magenta_bomb.xpm pixmaps/gray.xpm \
+ pixmaps/gray_bomb.xpm
+boxtype.o: boxtype.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Box.H
+browser.o: browser.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Select_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \
+ ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H \
+ ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Double_Window.H \
+ ../FL/Fl_Window.H ../FL/Fl_Button.H ../FL/Fl_Int_Input.H \
+ ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_ask.H
+button.o: button.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H
+buttons.o: buttons.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H \
+ ../FL/Fl_Return_Button.H ../FL/Fl_Button.H ../FL/Fl_Repeat_Button.H \
+ ../FL/Fl.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H \
+ ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Tooltip.H \
+ ../FL/Fl_Widget.H
+checkers.o: checkers.cxx ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
+ ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H \
+ ../FL/fl_draw.H ../FL/Fl_Menu_Item.H ../FL/fl_ask.H pixmaps/black_1.xbm \
+ pixmaps/black_2.xbm pixmaps/black_3.xbm pixmaps/black_4.xbm \
+ pixmaps/white_1.xbm pixmaps/white_2.xbm pixmaps/white_3.xbm \
+ pixmaps/white_4.xbm pixmaps/blackking_1.xbm pixmaps/blackking_2.xbm \
+ pixmaps/blackking_3.xbm pixmaps/blackking_4.xbm pixmaps/whiteking_1.xbm \
+ pixmaps/whiteking_2.xbm pixmaps/whiteking_3.xbm pixmaps/whiteking_4.xbm \
+ ../FL/Fl_Box.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
+ ../FL/Fl_Value_Output.H
+clock.o: clock.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Clock.H \
+ ../FL/Fl_Round_Clock.H ../FL/Fl_Clock.H
+colbrowser.o: colbrowser.cxx ../FL/forms.H ../FL/Fl.H \
+ ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H \
+ ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H \
+ ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H \
+ ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \
+ ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Button.H \
+ ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H \
+ ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
+ ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H \
+ ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H ../FL/fl_show_colormap.H \
+ ../FL/filename.H ../FL/Fl_File_Chooser.H ../FL/Fl.H \
+ ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \
+ ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \
+ ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H \
+ ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H \
+ ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
+ ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H \
+ ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H
+color_chooser.o: color_chooser.cxx ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Box.H ../FL/Fl_Button.H ../FL/fl_show_colormap.H \
+ ../FL/Fl_Color_Chooser.H ../FL/Fl_Group.H ../FL/Fl_Return_Button.H \
+ ../FL/Fl_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
+ ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Value_Input.H \
+ ../FL/Fl_Valuator.H ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Image.H \
+ ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H list_visuals.cxx \
+ ../config.h
+cube.o: cube.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Box.H ../FL/Fl_Button.H ../FL/Fl_Radio_Light_Button.H \
+ ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Slider.H \
+ ../FL/Fl_Valuator.H ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H ../FL/gl.h
+CubeMain.o: CubeMain.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H CubeViewUI.h ../FL/Fl_Double_Window.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H \
+ ../FL/Fl_Roller.H ../FL/Fl_Valuator.H ../FL/Fl_Slider.H ../FL/Fl_Box.H \
+ CubeView.h ../config.h ../FL/Fl_Gl_Window.H ../FL/gl.h \
+ ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H
+CubeView.o: CubeView.cxx CubeView.h ../config.h ../FL/Fl.H \
+ ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Gl_Window.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/gl.h
+cursor.o: cursor.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H \
+ ../FL/Fl_Valuator.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
+ ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H ../FL/Fl_Box.H
+curve.o: curve.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H \
+ ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H \
+ ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H
+demo.o: demo.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H \
+ ../FL/Fl_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
+ ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/filename.H ../FL/x.H \
+ ../FL/Fl_Window.H
+doublebuffer.o: doublebuffer.cxx ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Single_Window.H ../FL/Fl_Window.H \
+ ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Double_Window.H \
+ ../FL/Fl_Box.H ../FL/fl_draw.H ../FL/Fl_Hor_Slider.H ../FL/Fl_Slider.H \
+ ../FL/Fl_Valuator.H ../FL/math.h
+editor.o: editor.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Double_Window.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/fl_ask.H \
+ ../FL/Fl_File_Chooser.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
+ ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Menu_Button.H \
+ ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H \
+ ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \
+ ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
+ ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H ../FL/Fl_Box.H \
+ ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Button.H \
+ ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
+ ../FL/Fl_Return_Button.H ../FL/Fl_Menu_Bar.H ../FL/Fl_Text_Buffer.H \
+ ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H \
+ ../FL/Fl_Text_Buffer.H
+fast_slow.o: fast_slow.cxx fast_slow.h ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
+ ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Slider.H \
+ ../FL/Fl_Valuator.H ../FL/Fl_Box.H
+file_chooser.o: file_chooser.cxx ../FL/Fl_File_Chooser.H ../FL/Fl.H \
+ ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Double_Window.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H \
+ ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H \
+ ../FL/Fl_Image.H ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H \
+ ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H \
+ ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \
+ ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H \
+ ../FL/filename.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H \
+ ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_File_Input.H \
+ ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
+ ../FL/fl_ask.H ../FL/Fl_File_Icon.H ../FL/Fl_Shared_Image.H \
+ ../FL/Fl_PNM_Image.H ../FL/Fl_Light_Button.H
+fonts.o: fonts.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Hold_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \
+ ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
+ ../FL/fl_draw.H ../FL/Fl_Box.H ../FL/fl_ask.H
+forms.o: forms.cxx ../FL/forms.H ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Window.H \
+ ../FL/fl_draw.H ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H \
+ ../FL/Fl_Image.H ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H \
+ ../FL/Fl_Box.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \
+ ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
+ ../FL/Fl_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H \
+ ../FL/Fl_Check_Button.H ../FL/Fl_Chart.H ../FL/Fl_Choice.H \
+ ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H \
+ ../FL/Fl_Counter.H ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H \
+ ../FL/fl_show_colormap.H ../FL/filename.H ../FL/Fl_File_Chooser.H \
+ ../FL/Fl.H ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \
+ ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \
+ ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H \
+ ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H \
+ ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
+ ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H \
+ ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H \
+ pixmaps/srs.xbm
+fractals.o: fractals.cxx ../config.h ../FL/glut.H ../FL/gl.h \
+ ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/glu.h \
+ fracviewer.h ../FL/Fl_Button.H ../FL/Fl_Group.H ../FL/Fl_Window.H
+fullscreen.o: fullscreen.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Single_Window.H ../FL/Fl_Window.H \
+ ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Hor_Slider.H \
+ ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Toggle_Light_Button.H \
+ ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/math.h ../FL/gl.h \
+ ../FL/Fl_Gl_Window.H
+gl_overlay.o: gl_overlay.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Hor_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
+ ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/math.h ../FL/gl.h \
+ ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H
+glpuzzle.o: glpuzzle.cxx ../config.h ../FL/glut.H ../FL/gl.h \
+ ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/glu.h \
+ trackball.c trackball.h
+hello.o: hello.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H \
+ ../FL/filename.H
+help.o: help.cxx ../FL/Fl_Help_Dialog.H ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
+ ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Button.H \
+ ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Box.H ../FL/Fl_Help_View.H \
+ ../FL/Fl.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
+ ../FL/fl_draw.H ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H
+iconize.o: iconize.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H \
+ ../FL/Fl_Box.H
+image.o: image.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H \
+ ../FL/Fl_Image.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/x.H \
+ ../FL/Fl_Window.H list_visuals.cxx ../config.h
+inactive.o: inactive.cxx inactive.h ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
+ ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Button.H \
+ ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Check_Button.H \
+ ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Slider.H \
+ ../FL/Fl_Valuator.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
+ ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H \
+ ../FL/Fl_Image.H ../FL/Fl_Value_Output.H ../FL/Fl_Box.H \
+ ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Roller.H \
+ ../FL/Fl_Dial.H ../FL/Fl_Clock.H
+input.o: input.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Input.H \
+ ../FL/Fl_Input_.H ../FL/Fl_Float_Input.H ../FL/Fl_Input.H \
+ ../FL/Fl_Int_Input.H ../FL/Fl_Secret_Input.H ../FL/Fl_Multiline_Input.H \
+ ../FL/Fl_Button.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H \
+ ../FL/Fl_Color_Chooser.H ../FL/Fl_Group.H ../FL/Fl_Box.H \
+ ../FL/Fl_Return_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
+ ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Value_Input.H \
+ ../FL/Fl_Valuator.H
+input_choice.o: input_choice.cxx ../FL/Fl_Button.H ../FL/Fl_Widget.H \
+ ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H \
+ ../FL/Fl_Group.H ../FL/Fl_Input_Choice.H ../FL/Fl.H ../FL/Fl_Input.H \
+ ../FL/Fl_Input_.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H \
+ ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H
+keyboard.o: keyboard.cxx keyboard_ui.h ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H keyboard.h ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Output.H ../FL/Fl_Input.H \
+ ../FL/Fl_Input_.H ../FL/Fl_Box.H ../FL/Fl_Dial.H ../FL/Fl_Valuator.H
+label.o: label.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Hor_Value_Slider.H \
+ ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
+ ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Input.H \
+ ../FL/Fl_Input_.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
+ ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H
+line_style.o: line_style.cxx ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
+ ../FL/fl_draw.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H \
+ ../FL/Fl_Image.H
+list_visuals.o: list_visuals.cxx ../config.h
+mandelbrot.o: mandelbrot.cxx mandelbrot_ui.h ../FL/Fl.H \
+ ../FL/Enumerations.H ../FL/Fl_Export.H mandelbrot.h ../FL/Fl_Box.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
+ ../FL/fl_draw.H
+menubar.o: menubar.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Box.H ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H \
+ ../FL/Fl_Image.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H \
+ ../FL/Fl_Menu_Button.H ../FL/Fl_Choice.H ../src/flstring.h \
+ ../FL/Fl_Export.H ../config.h ../FL/fl_draw.H
+message.o: message.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_ask.H
+minimum.o: minimum.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Slider.H \
+ ../FL/Fl_Valuator.H ../FL/Fl_Box.H ../FL/Fl_Return_Button.H \
+ ../FL/Fl_Button.H
+navigation.o: navigation.cxx ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Input.H ../FL/Fl_Input_.H
+output.o: output.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Box.H ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H \
+ ../FL/Fl_Slider.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H \
+ ../FL/Fl_Input.H ../FL/fl_draw.H ../FL/Fl_Output.H \
+ ../FL/Fl_Multiline_Output.H ../FL/Fl_Output.H
+overlay.o: overlay.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Overlay_Window.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
+ ../FL/Fl_Button.H ../FL/fl_draw.H
+pack.o: pack.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Button.H ../FL/Fl_Widget.H ../FL/Fl_Light_Button.H \
+ ../FL/Fl_Button.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Scroll.H \
+ ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
+ ../FL/Fl_Value_Slider.H ../FL/Fl_Pack.H ../FL/Fl_Group.H
+pixmap_browser.o: pixmap_browser.cxx ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Box.H ../FL/Fl_Widget.H ../FL/Fl_Window.H \
+ ../FL/Fl_Group.H ../FL/Fl_Button.H ../FL/Fl_Shared_Image.H \
+ ../FL/Fl_Image.H ../FL/Fl_File_Chooser.H ../FL/Fl_Double_Window.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
+ ../FL/Fl_Menu_Item.H ../FL/Fl_Menu_Button.H ../FL/Fl_Preferences.H \
+ ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H \
+ ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
+ ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H \
+ ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Button.H \
+ ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
+ ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/fl_message.H \
+ ../FL/fl_ask.H
+pixmap.o: pixmap.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H \
+ ../FL/Fl_Pixmap.H ../FL/Fl_Image.H pixmaps/porsche.xpm \
+ ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Multi_Label.H
+preferences.o: preferences.cxx preferences.h ../FL/Fl.H \
+ ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Preferences.H \
+ ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Group.H ../FL/Fl_Input.H \
+ ../FL/Fl_Input_.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
+ ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Round_Button.H \
+ ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Box.H \
+ ../FL/Fl_Check_Button.H ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H \
+ ../FL/Fl_Valuator.H ../FL/filename.H ../FL/fl_ask.H
+radio.o: radio.cxx radio.h ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
+ ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H \
+ ../FL/Fl_Return_Button.H ../FL/Fl_Button.H ../FL/Fl_Light_Button.H \
+ ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H \
+ ../FL/Fl_Group.H
+resizebox.o: resizebox.cxx ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Single_Window.H ../FL/Fl_Window.H \
+ ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H \
+ ../FL/Fl_Radio_Button.H ../FL/Fl_Button.H ../FL/fl_draw.H \
+ ../FL/fl_message.H ../FL/fl_ask.H
+resize.o: resize.cxx resize.h ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
+ ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Box.H
+scroll.o: scroll.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Scroll.H ../FL/Fl_Scrollbar.H \
+ ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Light_Button.H \
+ ../FL/Fl_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
+ ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Box.H ../FL/fl_draw.H \
+ ../FL/math.h
+shape.o: shape.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Hor_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
+ ../FL/math.h ../FL/gl.h ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H
+subwindow.o: subwindow.cxx ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Menu_Button.H \
+ ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Box.H \
+ ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_draw.H
+sudoku.o: sudoku.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Enumerations.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Group.H ../FL/fl_ask.H \
+ ../FL/fl_draw.H ../FL/Fl_Help_Dialog.H ../FL/Fl_Double_Window.H \
+ ../FL/Fl_Window.H ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Box.H \
+ ../FL/Fl_Help_View.H ../FL/Fl.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
+ ../FL/Fl_Valuator.H ../FL/fl_draw.H ../FL/Fl_Shared_Image.H \
+ ../FL/Fl_Image.H ../FL/Fl_Preferences.H ../FL/Fl_Sys_Menu_Bar.H \
+ ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/x.H \
+ ../FL/math.h pixmaps/sudoku.xbm ../config.h
+symbols.o: symbols.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Single_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Value_Slider.H \
+ ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
+tabs.o: tabs.cxx tabs.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Tabs.H ../FL/Fl_Group.H \
+ ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Button.H ../FL/fl_ask.H \
+ ../FL/Fl_Clock.H ../FL/Fl_Wizard.H ../FL/Fl_Return_Button.H \
+ ../FL/Fl_Button.H
+threads.o: threads.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \
+ ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Value_Output.H threads.h
+tile.o: tile.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
+ ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
+ ../FL/Fl_Widget.H ../FL/Fl_Tile.H ../FL/Fl_Box.H
+tiled_image.o: tiled_image.cxx ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
+ ../FL/Fl_Button.H ../FL/Fl_Pixmap.H ../FL/Fl_Image.H \
+ ../FL/Fl_Tiled_Image.H pixmaps/tile.xpm ../FL/x.H ../FL/Fl_Window.H \
+ list_visuals.cxx ../config.h
+valuators.o: valuators.cxx valuators.h ../FL/Fl.H ../FL/Enumerations.H \
+ ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
+ ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Slider.H \
+ ../FL/Fl_Valuator.H ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H \
+ ../FL/Fl_Value_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
+ ../FL/Fl_Value_Output.H ../FL/Fl_Scrollbar.H ../FL/Fl_Adjuster.H \
+ ../FL/Fl_Counter.H ../FL/Fl_Spinner.H ../FL/Enumerations.H \
+ ../FL/Fl_Group.H ../FL/Fl_Input.H ../FL/Fl_Repeat_Button.H ../FL/Fl.H \
+ ../FL/Fl_Button.H ../FL/Fl_Dial.H ../FL/Fl_Roller.H
diff --git a/test/mandelbrot.cxx b/test/mandelbrot.cxx
index c341d0a..282cefb 100644
--- a/test/mandelbrot.cxx
+++ b/test/mandelbrot.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: mandelbrot.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: mandelbrot.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Mandelbrot set demo for the Fast Light Tool Kit (FLTK).
//
@@ -199,5 +199,5 @@ void Drawing_Area::resize(int XX,int YY,int WW,int HH) {
}
//
-// End of "$Id: mandelbrot.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: mandelbrot.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/mandelbrot.h b/test/mandelbrot.h
index 5b72262..0cd26fd 100644
--- a/test/mandelbrot.h
+++ b/test/mandelbrot.h
@@ -1,5 +1,5 @@
//
-// "$Id: mandelbrot.h 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: mandelbrot.h 5519 2006-10-11 03:12:15Z mike $"
//
// Mandelbrot set header file for the Fast Light Tool Kit (FLTK).
//
@@ -70,5 +70,5 @@ public:
};
//
-// End of "$Id: mandelbrot.h 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: mandelbrot.h 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/mandelbrot_ui.fl b/test/mandelbrot_ui.fl
index e4a9e7f..bb7afe8 100644
--- a/test/mandelbrot_ui.fl
+++ b/test/mandelbrot_ui.fl
@@ -1,8 +1,7 @@
# data file for the Fltk User Interface Designer (fluid)
-version 0.99
-gridx 10
-gridy 10
-snap 3
+version 1.0108
+header_name {.h}
+code_name {.cxx}
decl {\#include "mandelbrot.h"} {public
}
@@ -12,12 +11,12 @@ class Drawing_Window {open
} {
Function {make_window()} {open return_type void
} {
- Fl_Window window {open
- xywh {178 479 450 520} resizable
+ Fl_Window window {open selected
+ xywh {178 479 450 520} type Single resizable
code0 {o->size_range(220,220);} visible
} {
Fl_Box d {
- user_data this user_data_type {void*} selected
+ user_data this user_data_type {void*}
xywh {20 80 410 430} box DOWN_BOX color 0 selection_color 47 resizable
class Drawing_Area
}
diff --git a/test/menubar.cxx b/test/menubar.cxx
index 765c892..3e90b97 100644
--- a/test/menubar.cxx
+++ b/test/menubar.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: menubar.cxx 4763 2006-01-16 23:22:32Z matt $"
+// "$Id: menubar.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Menubar test program for the Fast Light Tool Kit (FLTK).
//
@@ -184,9 +184,11 @@ int main(int argc, char **argv) {
menubar.callback(test_cb);
menus[0] = &menubar;
Fl_Menu_Button mb1(100,100,120,25,"&menubutton"); mb1.menu(pulldown);
+ mb1.tooltip("this is a menu button");
mb1.callback(test_cb);
menus[1] = &mb1;
Fl_Choice ch(300,100,80,25,"&choice:"); ch.menu(pulldown);
+ ch.tooltip("this is a choice menu");
ch.callback(test_cb);
menus[2] = &ch;
Fl_Menu_Button mb(0,0,WIDTH,400,"&popup");
@@ -205,5 +207,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: menubar.cxx 4763 2006-01-16 23:22:32Z matt $".
+// End of "$Id: menubar.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/message.cxx b/test/message.cxx
index 8a7af54..bee5750 100644
--- a/test/message.cxx
+++ b/test/message.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: message.cxx 4626 2005-11-02 13:57:56Z matt $"
+// "$Id: message.cxx 5805 2007-05-09 12:42:39Z matt $"
//
// Message test program for the Fast Light Tool Kit (FLTK).
//
@@ -38,8 +38,15 @@ int main(int argc, char **argv) {
fl_message("Spelling check sucessful, %d errors found with %g%% confidence",
1002, 100*(15/77.0));
- fl_alert("Quantum fluctuations in the space-time continuum detected, "
- "you have %g seconds to comply.", 10.0);
+ fl_alert(
+ "Quantum fluctuations in the space-time continuum detected,\n"
+ "you have %g seconds to comply.\n\n"
+ "\"In physics, spacetime is any mathematical model that combines\n"
+ "space and time into a single construct called the space-time\n"
+ "continuum. Spacetime is usually interpreted with space being\n"
+ "three-dimensional and time playing the role of the\n"
+ "fourth dimension.\" - Wikipedia",
+ 10.0);
printf("fl_choice returned %d\n",
fl_choice("Do you really want to %s?", "No", "Yes", 0L, "continue"));
@@ -59,5 +66,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: message.cxx 4626 2005-11-02 13:57:56Z matt $".
+// End of "$Id: message.cxx 5805 2007-05-09 12:42:39Z matt $".
//
diff --git a/test/minimum.cxx b/test/minimum.cxx
index a07b939..dd1b9ab 100644
--- a/test/minimum.cxx
+++ b/test/minimum.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: minimum.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: minimum.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Minimal update test program for the Fast Light Tool Kit (FLTK).
//
@@ -76,5 +76,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: minimum.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: minimum.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/navigation.cxx b/test/navigation.cxx
index 48c8d0d..e46491d 100644
--- a/test/navigation.cxx
+++ b/test/navigation.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: navigation.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: navigation.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Navigation test program for the Fast Light Tool Kit (FLTK).
//
@@ -68,5 +68,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: navigation.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: navigation.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/output.cxx b/test/output.cxx
index 34264a8..9bbf858 100644
--- a/test/output.cxx
+++ b/test/output.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: output.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: output.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Output test program for the Fast Light Tool Kit (FLTK).
//
@@ -101,5 +101,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: output.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: output.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/overlay.cxx b/test/overlay.cxx
index f75352e..6414722 100644
--- a/test/overlay.cxx
+++ b/test/overlay.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: overlay.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: overlay.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Overlay window test program for the Fast Light Tool Kit (FLTK).
//
@@ -82,5 +82,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: overlay.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: overlay.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/pack.cxx b/test/pack.cxx
index 7e129bf..3bd15bd 100644
--- a/test/pack.cxx
+++ b/test/pack.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: pack.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: pack.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Fl_Pack test program for the Fast Light Tool Kit (FLTK).
//
@@ -116,5 +116,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: pack.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: pack.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/pixmap.cxx b/test/pixmap.cxx
index 963dbca..5dec973 100644
--- a/test/pixmap.cxx
+++ b/test/pixmap.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: pixmap.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: pixmap.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Pixmap label test program for the Fast Light Tool Kit (FLTK).
//
@@ -31,7 +31,7 @@
#include <FL/Fl_Pixmap.H>
#include <stdio.h>
-#include "porsche.xpm"
+#include "pixmaps/porsche.xpm"
#include <FL/Fl_Toggle_Button.H>
@@ -98,5 +98,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: pixmap.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: pixmap.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/pixmap_browser.cxx b/test/pixmap_browser.cxx
index f86949b..f805fbb 100644
--- a/test/pixmap_browser.cxx
+++ b/test/pixmap_browser.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: pixmap_browser.cxx 4748 2006-01-15 02:26:54Z mike $"
+// "$Id: pixmap_browser.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// A shared image test program for the Fast Light Tool Kit (FLTK).
//
@@ -119,5 +119,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: pixmap_browser.cxx 4748 2006-01-15 02:26:54Z mike $".
+// End of "$Id: pixmap_browser.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/black_1.xbm b/test/pixmaps/black_1.xbm
index a9d800f..a9d800f 100644
--- a/test/black_1.xbm
+++ b/test/pixmaps/black_1.xbm
diff --git a/test/black_2.xbm b/test/pixmaps/black_2.xbm
index b324fd1..b324fd1 100644
--- a/test/black_2.xbm
+++ b/test/pixmaps/black_2.xbm
diff --git a/test/black_3.xbm b/test/pixmaps/black_3.xbm
index ead6e08..ead6e08 100644
--- a/test/black_3.xbm
+++ b/test/pixmaps/black_3.xbm
diff --git a/test/black_4.xbm b/test/pixmaps/black_4.xbm
index 4132263..4132263 100644
--- a/test/black_4.xbm
+++ b/test/pixmaps/black_4.xbm
diff --git a/test/blackking_1.xbm b/test/pixmaps/blackking_1.xbm
index f764ead..f764ead 100644
--- a/test/blackking_1.xbm
+++ b/test/pixmaps/blackking_1.xbm
diff --git a/test/blackking_2.xbm b/test/pixmaps/blackking_2.xbm
index 9be617b..9be617b 100644
--- a/test/blackking_2.xbm
+++ b/test/pixmaps/blackking_2.xbm
diff --git a/test/blackking_3.xbm b/test/pixmaps/blackking_3.xbm
index b4a6883..b4a6883 100644
--- a/test/blackking_3.xbm
+++ b/test/pixmaps/blackking_3.xbm
diff --git a/test/blackking_4.xbm b/test/pixmaps/blackking_4.xbm
index a707862..a707862 100644
--- a/test/blackking_4.xbm
+++ b/test/pixmaps/blackking_4.xbm
diff --git a/test/pixmaps/blast.xpm b/test/pixmaps/blast.xpm
new file mode 100644
index 0000000..19d0bc7
--- /dev/null
+++ b/test/pixmaps/blast.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * blast_xpm[] = {
+"32 32 32 1",
+" c #905518",
+". c #9F580E",
+"+ c #A36526",
+"@ c #AF6519",
+"# c #BF7429",
+"$ c #C77622",
+"% c #B67B3C",
+"& c #D07518",
+"* c #D88836",
+"= c #E48628",
+"- c #F28514",
+"; c #FF951C",
+"> c #FA9835",
+", c #FF982A",
+"' c #F49F48",
+") c #FFA82D",
+"! c #FFA93F",
+"~ c #FFBA1C",
+"{ c #FFB936",
+"] c #FFBA4C",
+"^ c #FFCA42",
+"/ c #FFD329",
+"( c #FFCF5E",
+"_ c #FFD94C",
+": c #FFE946",
+"< c #FFFB3E",
+"[ c #FFFB55",
+"} c #FEFC69",
+"| c #FFFE82",
+"1 c #FFFFA3",
+"2 c #FEFFCB",
+"3 c #FEFFFC",
+" % . ....@@@#@@.+.+++% ",
+" %%++++.....@######@@@@.++ % ",
+" %%% %++@@.@@@#$$#######@++++%% ",
+" %%+%+####@@$&&=*=&&$$####@++%%+",
+"+%+%#####&&&&&==='===*$$###%%%%+",
+"%+%%%%**=*&&&&>,>,>-=>==*$*##%%%",
+" %#****'=>---,))!),>>>==***#%#+",
+" @%*'''>>>>;;,{{{))))>>>''**#%+",
+" ..@#*'!]]]{)){^__^^{]!!!'''###+",
+" ..@$=']]((^^~~:::/__^{((!>**##@",
+"....&&=>(_|[::/<}[<[::_((!>==###",
+"....&&--!_}|}[<[}[}}}||_]!>>**##",
+"@@$$&&--;{:|1|[<|}|}||}_^]>>=*##",
+"##$$=-,;)~~<121<2|121}}:^])>=*$#",
+"#*'''!]{^_<<<1313332|}}}^{!>>*##",
+"%*'']((|}}||||<333321|[[_^]>==*#",
+"*''''((||112333333321|}[_^]!>=*#",
+"%%*''!]^_[[[}<13332}<[<:_])>>*$#",
+"##*==,,)~_:<[|212311}[</{),,=*$#",
+"#@$$==,;)~/<|1<2|<1}|[:^{)-=&&$@",
+".@@$&&-;)~:|}<<1}[|}[[:^{,-=&$@@",
+"..@@&&-;)(}[/<[|[<<}<:_^{),=&$@.",
+"...@&&=,{_(~~:[[<</[[^~]!>>=&$@@",
+" .@@$&'!({;;{/}::/~/_^)),>=*$#@+",
+" ..@$=''>,-;)^__~^{)^]),,==*$#@@",
+". @##*'==&--){({));;,{>>==$$#@++",
+"%++#%**$&&--,!));;;-->>=&$$##@+%",
+" +%%##@@@@&=>>>>>>=-==='$$#@@+++",
+" %%+@@..&.$&='==-&&&&&$*$#@@.+% ",
+" %%+ ....@$$*==&$&&&@$$##@@+ % ",
+" % ....@#*#$$$#@@@@@##+@++ ",
+" ..@####@@@@@..+@++% "};
diff --git a/test/pixmaps/block.xcf.gz b/test/pixmaps/block.xcf.gz
new file mode 100644
index 0000000..d35488a
--- /dev/null
+++ b/test/pixmaps/block.xcf.gz
Binary files differ
diff --git a/test/pixmaps/blue.xpm b/test/pixmaps/blue.xpm
new file mode 100644
index 0000000..89c412e
--- /dev/null
+++ b/test/pixmaps/blue.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * blue_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #0000A5",
+"+ c #020681",
+"@ c #0A008F",
+"# c #0001B2",
+"$ c #0100BA",
+"% c #0000D0",
+"& c #0C00C4",
+"* c #0008C4",
+"= c #0B00DB",
+"- c #13252E",
+"; c #171F44",
+"> c #1718B3",
+", c #1616C2",
+"' c #2628CF",
+") c #2C2BC6",
+"! c #2D30BD",
+"~ c #3D40D1",
+"{ c #4342BC",
+"] c #4344CA",
+"^ c #5253E1",
+"/ c #5858D4",
+"( c #5F5ECF",
+"_ c #6A69E7",
+": c #6E6EDD",
+"< c #7273D2",
+"[ c #7E7FDD",
+"} c #7E7FEC",
+"| c #8D8DDF",
+"1 c #8F90EF",
+"2 c #9D9EED",
+"3 c #A6A6E8",
+" ;+.*$##$$**$*$#$*&&.+; ",
+" -@&)_133333333333333|:!$@- ",
+" ;%%}22122222222233333333['$; ",
+" -&'1111111|2|21111|2223|332'&- ",
+" @*}}}}1}}}1}1111111[|[||||||*. ",
+";&/}[}}}}}}}[[[}}}}}[}[[||||[:&;",
+"+'::::_____:::<::__}_}:<<<<<[<)+",
+">)/_/_____::(::::_____:(<<<<<<].",
+"*^//^/////(((((//_^_^_///(((((/$",
+"#]]]]^^{/{{{{/{//^^^^^^///{(((($",
+".]~~~~]{{{{{{{]{]~~~~~~~]{]{{{(.",
+"#))))!!!{{{]!~!!~~'~''~~~]{{{{{.",
+"#))))!!!@!>!!))))''''''~)!!!{{+.",
+"$,,>>>@!>>)>,'''''''''''))!>!!!.",
+"$,,#>>>>.>,,&*%*'*''*',,,,,>>>>#",
+"&%%$#...#&&%*%***%%&*$,***,>#>>#",
+"$&%&*###&&%%&&&&,*&*,##$*$$#$$#$",
+"$&%%$$$*&%&**$$$&&&&&$#$***#,#.#",
+"$$$&$*&%%=&&$##$$**&&$**&&&$$#..",
+".#$$&&%%%%%&,....##$#$$&%%&&$#.#",
+".#$$&%%===%%&#.....###$&%%%&&#.#",
+"$$&&%=====%%$##.@..#.##&&&%%&$$#",
+"$$&&%==%==%&$###.....##$%&%&&$$$",
+"$$$&&%%%%%&&$$###..###$$&%&%&&$$",
+".$$&&&&$$&$$*&&*$$#$$$$$$%%%%%&.",
+"+$$$$&####$&$&&&&&$$&$$$$&%=%%=+",
+";##$$$#....$$&&&$&&%&&$$*&%==%%;",
+" @$,#$#.@..##.#$&&%%%&$&&=%%%%. ",
+" -$*$&&$.......#&&&%&&$&%==%%&- ",
+" ;$&&$#...#...$&%%%&&$&%=%=%; ",
+" -@%&$#..#...#$%&&&&&&&=%.- ",
+" ;+.#$#....#&&%%&&&&#+; "};
diff --git a/test/pixmaps/blue_bomb.xpm b/test/pixmaps/blue_bomb.xpm
new file mode 100644
index 0000000..72c267e
--- /dev/null
+++ b/test/pixmaps/blue_bomb.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * blue_bomb_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #010047",
+"+ c #00033E",
+"@ c #010345",
+"# c #010577",
+"$ c #0000A4",
+"% c #0001B7",
+"& c #0000C3",
+"* c #0000D0",
+"= c #13252E",
+"- c #1A2147",
+"; c #1E1E57",
+"> c #2023BC",
+", c #2526CD",
+"' c #343364",
+") c #363699",
+"! c #3237C5",
+"~ c #373BB4",
+"{ c #474875",
+"] c #4E4FD4",
+"^ c #5252C6",
+"/ c #5B5A85",
+"( c #6D6D94",
+"_ c #6666CE",
+": c #6465DE",
+"< c #6E6CAC",
+"[ c #7B7CDA",
+"} c #7C7DEB",
+"| c #8D8DDF",
+"1 c #8F90EF",
+"2 c #9D9EED",
+"3 c #A6A6E8",
+" -#$&%%%%%&&&&%%%&&&$#- ",
+" =$*,:133333333333333|}>%$= ",
+" -&,}22122222322233333333[>%- ",
+" =&,}111111|2|21111|22322332,&= ",
+" $,[1}1}1}}1}1111111[1|||<|||&$ ",
+"-%]}}}}}}}}}[[[}}}}}}[[[||||1:&-",
+"#,:_}:::}::[<((((((<[}}[[[[<[[,#",
+"%!:::::::_<(((((((((/<_:___[__]$",
+"&]]]]]]]://///(////////_^::___]%",
+"%]]]]]]^{{{/{{/{/{</{/{/^^^^^_^%",
+"$!!!!!]'{{{={{{{{{'{{{{{']]~^^^$",
+"%,!,!>)''-{''''''''''''{')]~~~~$",
+"%,>,!>)-'-'-''''''';''''')!!~~~$",
+"&,,$>>--;;-;;;;;;;;;);;;;->>>#!$",
+"&&&,$$;+;+;+;@;;.;;;;;;;;;%>,>>%",
+"%&&&$$++@+..@...;..@.@;@.;%,$%$%",
+"&&*&&%+++..@@@@@@@@@+@++@+%%%%%%",
+"&&&&%%+@+.@@+++@++@@@++++@&%%%$%",
+"%&&&&&+....+++++@+@+@+@@@@&%%%$$",
+"$%%&%&#.@..@+++++++++++@@#&&%$$$",
+"$%%%&*$....@+++++++++++@.$*&&%%$",
+"%%&&***#...@+++-++++++++#***&%%%",
+"&%&&***&...@+++++++++++@$&**&%%%",
+"&%%&****$.@@+++++++++++$&&*&&&&&",
+"$%%&&&&%&$#+@@+++++++#$%&&****&$",
+"#%%%%&%%$%$$#@.@@@+#$%%%%&*****#",
+"-%%%%%%$$$$%%%&%%&&&&%%&&&*****-",
+" $%%%&$$$$$$%$$%&&**&&%&******$ ",
+" =%%&&&$$$$$$$$%&&***%%&*****&= ",
+" -&&&&%$$$$$$$%%***&&&&****&- ",
+" =$&%%%$%$$$$%&&&&&&&&***$= ",
+" -#$%%%%$$$%%&&&&&&&%#- "};
diff --git a/test/pixmaps/cyan.xpm b/test/pixmaps/cyan.xpm
new file mode 100644
index 0000000..37f74d6
--- /dev/null
+++ b/test/pixmaps/cyan.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * cyan_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #143144",
+"+ c #0A4350",
+"@ c #038080",
+"# c #029795",
+"$ c #00A3A5",
+"% c #00ABAC",
+"& c #02B3B5",
+"* c #00BBBB",
+"= c #00C0C0",
+"- c #19B9BB",
+"; c #33B5B5",
+"> c #00CCCB",
+", c #12C5C5",
+"' c #47B2B1",
+") c #1AC9C9",
+"! c #09D2D1",
+"~ c #37C9CA",
+"{ c #46C5C6",
+"] c #24D9D8",
+"^ c #5CC5C3",
+"/ c #4BD0D1",
+"( c #55D8DA",
+"_ c #72D4D3",
+": c #53E3E3",
+"< c #66E0E2",
+"[ c #7EE2E1",
+"} c #70ECED",
+"| c #94E0E1",
+"1 c #8DEFED",
+"2 c #A1ECEC",
+"3 c #ADE8E6",
+" +@$=*&&&***=*&&&*==$@+ ",
+" .#>![123333222233323|<~*#. ",
+" +,]}1211212222212232333||**+ ",
+" .,]1211111222221112|||||3||>>. ",
+" #)[11111}}11[11111111[|||||[!# ",
+"+*<}<<}}1}1}[[[1}1}}1[[___|_|<>+",
+"@)_[[<}}}}}<[__<<}}}}1[___|^|_)@",
+"%](((<<<<<__/___[}}}}:[__^_^^_^%",
+"-(((((((((_{{_{/_(}:}<<<(___^^/*",
+"&////(/{{{{^/{{^/]:::::(_(/{^{^&",
+"%{//!/{;';{;{{~{{/]:]:]/~~/{^{;%",
+"%==,~,*;;;;'*~~~~~/!]]()~{{{;''#",
+";>/**;;;&;-;;~,)))//!!]~=---;';$",
+"*>=*;%;%;--*,)!)!>)!~!))~=~--%;%",
+";),=;%%%--))))!))!)))~,)),{--&;%",
+"=)>**%$%*=)>!>)),,))--*=)=***;**",
+"*)!>**%&=)!,,,===,,,*;*;==**&*&&",
+"*,>,=***>!),**-*=,,>=***,=*&*&%&",
+"*&==**,>>!>=&%&&***=***=>,=*%%%%",
+"%****>>!!!!>*%%%%%&*&**,>>>==%$$",
+"%%*==>!]]!!>*%%$$%%%*%=,>>>>>*%%",
+"%==,!]]]]]!>*&$$##$%%%&*,>>>*=&;",
+"**=>!]]]]]!>**%$$#%%%%*=,>>>=**&",
+"***,)!!!!!,****=%%#%%%&*=>>>>==*",
+"$*&=,),**,=*======***==**,>>>>>%",
+"@=&-*=&%%&&*==>>======*&=,>]]!!@",
+"+&&=&*&%$%%*****==,>,=*==!!!]]!+",
+" #&&=*&$$#$%%%%*=,>>>=*=,!!!!!# ",
+" .&====%%$%%%$$%=>>>)=*,!]]!!,. ",
+" +*,==*%#$$%#%*=>!>,=-,!]]!!+ ",
+" .#,=*%%%%$#$&=,>,,,=,)!]$. ",
+" +@$&*%%%$$%,,,,,,,,%@+ "};
diff --git a/test/pixmaps/cyan_bomb.xpm b/test/pixmaps/cyan_bomb.xpm
new file mode 100644
index 0000000..4936f84
--- /dev/null
+++ b/test/pixmaps/cyan_bomb.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * cyan_bomb_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #003A3A",
+"+ c #133244",
+"@ c #004241",
+"# c #0A4551",
+"$ c #084948",
+"% c #1B5353",
+"& c #006C6D",
+"* c #286261",
+"= c #396767",
+"- c #0F8080",
+"; c #019795",
+"> c #507B7C",
+", c #00A7A9",
+"' c #5D8989",
+") c #00B7B7",
+"! c #00C1C1",
+"~ c #2FB2B3",
+"{ c #6D9A9A",
+"] c #00CAC9",
+"^ c #4AB4B3",
+"/ c #05D4D2",
+"( c #36C8C9",
+"_ c #53C4C3",
+": c #46D3D4",
+"< c #61D3D3",
+"[ c #75CECE",
+"} c #6FE2E1",
+"| c #82DFDE",
+"1 c #94E0E1",
+"2 c #89EFED",
+"3 c #A2ECEC",
+" #-,!))~))!)!!)~)!!!,-# ",
+" +;]:}2333333333333331<();+ ",
+" #!/}23333333333333333333[!!# ",
+" +!/322222221332223311111111:!+ ",
+" ;:2222222222|23222233111111|/; ",
+"#!:}|}222222|||}22222}|1[1[[1}]#",
+"-:<}}}}}}}}[^{{{{{{[[2}|[[[[[|!-",
+",:}:}:}}}<{'''''''{'{{[<<|[[[<_,",
+"!:<<:}::_'>'>>'>'''''''[<<<[_<:!",
+")(:::::^>>>>>>>>>>>''''>_::____~",
+",((:::(>===>=>=>>>=>>>>>'(:___^,",
+"~(((](;===#========&&=*=*^(_^^~;",
+")](()_&%%==%=%===*===*==*-~)^~~,",
+"!!!)~,=#.%%#%%%%*%******%=())~~,",
+")]()~,.%%%%%%%%%%%%%%%%%%%()))~)",
+"(!]!)^.....$%$$$$$$$$$$$$$)))))~",
+"!]:])~...%$$.@#@@@@@.@.$@@))))))",
+")]]]!(.$$.@@..@.@@@@@@..@$)))))~",
+"~!)!)!.$$%$.@....@#@.@@@#@()),,,",
+",)!~!(&@@@@$...........@$&]!)),,",
+")))!]]~$$$@$.........@@@$,:]!),,",
+"~)!!///&$$$@@...........&]]]!)))",
+"))!!://!%$$@...........@,]/]])))",
+"!))!///],@#$..........@;]]]]]!]!",
+",)!)!!!!!,&.@#@......*,)!]]]/]!,",
+"-)~!!!)),));&@@@$.@&;!)))!/////-",
+"#)~))),,;,,)))!)!!:]]!!!!]/////#",
+" ;))))),;,,)~~,)!!]/]!)!]/////; ",
+" +)!!!!),,,,,,,)!]]/!()!/////!+ ",
+" #)]!)),,,,,,,)!!/!]!)!////]# ",
+" +;]!),,,,,;,)!]]!!!!!]//,+ ",
+" #-,))));,,,!!]!]!!!)-# "};
diff --git a/test/pixmaps/gray.xpm b/test/pixmaps/gray.xpm
new file mode 100644
index 0000000..e5da3fc
--- /dev/null
+++ b/test/pixmaps/gray.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * gray_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #2C393F",
+"+ c #394649",
+"@ c #666967",
+"# c #737572",
+"$ c #7A7C79",
+"% c #828481",
+"& c #878986",
+"* c #8C8E8B",
+"= c #90928F",
+"- c #939592",
+"; c #979996",
+"> c #999B98",
+", c #9C9E9A",
+"' c #9FA19E",
+") c #A1A0A4",
+"! c #A3A5A2",
+"~ c #A6A8A5",
+"{ c #A9ABA8",
+"] c #A9ACAF",
+"^ c #ABADAA",
+"/ c #AFB1AE",
+"( c #B3B5B3",
+"_ c #B9BBB8",
+": c #BABDC0",
+"< c #C1C3BF",
+"[ c #C2C3C7",
+"} c #C7C9C6",
+"| c #CBCDCB",
+"1 c #D1D3D0",
+"2 c #D9DBD8",
+"3 c #DFE1DE",
+" +@%;-**=---;-=*=;>>%@+ ",
+" .$':[2332233333222231[]-#. ",
+" +)(|33333222333332222221[)-+ ",
+" .;(22233333121333322|12|1|2]'. ",
+" #]|221222221112233222[2||||1]$ ",
+"+)[|[[2[3[3[2[1[[2[222||[[[[|<)+",
+"@~[[||[111[[|[[|2221[2[|}<<[[|~@",
+"%:|<[|[[[|[[[:[[[[[21|[[[_:((_]&",
+"-(::[[[[[:((((]:[[|[||<<[_<:::];",
+"=((((_(({^]](]]](<[[|[[:(:((]((*",
+"&]]((()))!')^(^^]([[<<__(]({~)]%",
+"*~^]])'>-))'){)]^]((:_:]]{)))>)%",
+"=)~!''>)--);){{]^{{^(((])~~!)==%",
+")~)))=**);;)']]{]]]]]]]{~!,)=)-&",
+"-',-**&*=)>)!{]~~~~!)!))])'>-==*",
+")))))&&&=;!~])')))))>)>,'';))-)*",
+"-'!)=**)=)!)')-;>,''-=*-))**==)&",
+"),);))*))]);)*--)>)))-==-)=)*&**",
+"*))-==)'!{!;*&**==---)=)>))*)%&&",
+"%&==))!)]])))*&&**&)**))!'-))&%%",
+"**)=)){^{^~)=&&%$%&&**=)))]))**&",
+"**-)!{]]]]{)))&$%%%*&&*;'''>))**",
+")=),]((((]!)*&&%$%$&&*)-))]);*)*",
+"==*)'!!'!~)*)))&)&&&&&*)>'')))-)",
+"%)*))))-);)-==)))&)&)*=-))!!))'%",
+"@=*=--*&&*==));-)=)=)))*->!]^^]@",
+"+=*=--*%$%&)&-)-))));-=)-){{]]]+",
+" #)*)*)&%$%&*&&*=;)!))*)){]]{~# ",
+" .*)*)*&&%&%%%%));]'))*>]{{])). ",
+" .=))))&%%&%%$&;,!)>-))!]]{~+ ",
+" .#;=&*)$&%%%)))!');-)'{]$. ",
+" +@$$)&)%$$&-,))>),;&@+ "};
diff --git a/test/pixmaps/gray_bomb.xpm b/test/pixmaps/gray_bomb.xpm
new file mode 100644
index 0000000..808c501
--- /dev/null
+++ b/test/pixmaps/gray_bomb.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * gray_bomb_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #2C2E2B",
+"+ c #313330",
+"@ c #2E393E",
+"# c #363835",
+"$ c #3B3A3D",
+"% c #3B3D3B",
+"& c #3B464A",
+"* c #454644",
+"= c #48464A",
+"- c #50514F",
+"; c #585A57",
+"> c #616260",
+", c #686967",
+"' c #70716E",
+") c #787A78",
+"! c #818380",
+"~ c #868885",
+"{ c #8B8D8A",
+"] c #8F908D",
+"^ c #939491",
+"/ c #969895",
+"( c #9B9D9A",
+"_ c #A1A3A0",
+": c #A8AAA7",
+"< c #B0B3B0",
+"[ c #B9BBB8",
+"} c #C1C2C0",
+"| c #C9CBC8",
+"1 c #D2D3D1",
+"2 c #D9DBD8",
+"3 c #DFE1DE",
+" &,!/^]]]^////]]]/((!,& ",
+" @)_<12322232333322221}:^'@ ",
+" &(<133333313233332222221}_/& ",
+" @/}221233322113333221111111<_@ ",
+" )_1112223321212223212111}1}1<) ",
+"&^}1111111111}1111221111}}}}1}_&",
+",:}}}111111<:]~]^^^<}11}}}}}}}:,",
+"]<}}}}}}}}]~))~)~~]~]^}}}}}<<}<~",
+"/}<}}}}}_)))))))))~)~)~<}}}<<<<^",
+"]<<<<}<_,',,'''))))))))):<}<<<<]",
+"]<<<<<<,>>>,,,>>>,,),,,,)<<<_::~",
+"]_::<_~>->->->>>>>>>,,,,>^__:^/)",
+"^___((,====-=-->=>>=>=>>=)_(^(^!",
+"^:_(^^=-=-=-=-==-==>-----=__/^^]",
+"^_((^~$$*%=*==-=--======-=_(^(^]",
+"^__(]].+$$$%%*$$$$$*$@*%%=((^^^]",
+"/_:_^]@.+$$$+$++$$+$$$$$+$^^^^]]",
+"^___^^..$##++..$++$+....$$^]^]]]",
+"]^^(^($+$$$$.....++$.$.@$.(^]]~~",
+"~]^^//>+$++.$@.@.@......$>_(]]!~",
+"]]^(__~@$$$$......$.$@$+$)<_^]~~",
+"]^((_<<;##$.$..........$=__:(^]]",
+"^^((:<<^&#$$...........$~____^^]",
+"^^^((___!$+.$.@.....@.$)(___(((^",
+"~^^^__(^^~=$..$.@....=)^/_:::_:~",
+">^^^/^^]]]])=@.$..$=)^^^^(_<:<:,",
+"&]]^^]]))~~^^]]]^/__:(^^(__::::&",
+" )^]^^]]))~~]]]^^(_:_^(^_:<:::) ",
+" @^^(^^]~~])~)~]((___^/(:<_<_(@ ",
+" &^__(]])~]~)~^^_:__(^(_:<:_& ",
+" @)((]]]~~)~)^(__(((((_:<)@ ",
+" &,)]]]]])!]^(__(_((~>& "};
diff --git a/test/pixmaps/green.xpm b/test/pixmaps/green.xpm
new file mode 100644
index 0000000..6a58897
--- /dev/null
+++ b/test/pixmaps/green.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * green_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #022D01",
+"+ c #004300",
+"@ c #007F00",
+"# c #009400",
+"$ c #00A301",
+"% c #00AA00",
+"& c #00B600",
+"* c #04BC0A",
+"= c #00C100",
+"- c #02C805",
+"; c #00CC00",
+"> c #24B329",
+", c #00D400",
+"' c #18CA24",
+") c #3FB740",
+"! c #31C733",
+"~ c #3FC640",
+"{ c #31D633",
+"] c #4FC650",
+"^ c #5DD45D",
+"/ c #5BD957",
+"( c #51DF54",
+"_ c #6BD16D",
+": c #6AE26D",
+"< c #81DF81",
+"[ c #8DDB8C",
+"} c #7EE77F",
+"| c #79EE7A",
+"1 c #8FEF8F",
+"2 c #9DEC9D",
+"3 c #A6E7A5",
+" +@$=*&&&*====&&&===$@+ ",
+" .#;{:123333333333333[:!&#. ",
+" +-;|22222223222223333333<*=+ ",
+" .-,11111111221111122223[332!;. ",
+" #-}1}|}||1|111111}11<<[[[[[<;# ",
+"+*^}}}}|}||}}<<1||||}1<<[[[[[:;+",
+"@':^::|||||:___}}|||:|}_<_[_[_'@",
+"%{^:://///^_^^_^:/|(/::^______~%",
+"*(/////:^^^^_]]^^/((((:^^^]___]=",
+"%~~/~(/~]~]]~]]]/((((((//^]]]]^%",
+"%~!!!!~)))))~]~]~({({{{(~~~]))]$",
+"&!!!!~~))>))~!~!~!{({{(!~~~))))$",
+"&!!!*>>>>>>>>!!'{!{{{{{!!~>~)))$",
+"=-'*>&>%>&!*'--'{-''{-{'!!!%>#>%",
+"*='*>%$%&&'=-{;-'{-='=---=!&!%!%",
+"*--=&%%%&=;--;-=-=;=*&!**-=&&&&&",
+"=-;-=&%&==;;======--*&&&**&&&&&&",
+"*-;-=&**-,;==&&*==-==*&*=-*&&&%&",
+"&&=====;;,;=&&&&&*===&===-=*&&$%",
+"%&**==,,,,;-&%%%%%&&&**-;;;=&%%%",
+"%&&*-;,,,,,;=%%%$$%&%&*-;;;;=&%%",
+"&&=-,,,,,,,;=&$$$#%%%%&=-;;;-&&&",
+"**=-,,,,,,,=*&%$$$$%%%&=-;;;=*&&",
+"*&*=,,,,,,-=&=&&&%%%%&&*=-;;;===",
+"$*&*=-{=*===*=-==&&*&&*===;;;;;%",
+"@*&*==&%%&&*==--======*&*-;,,,;@",
+"+&&&&=&%$%%&=&*===-;;=&*=;,,,,,+",
+" #&&&&&%#$%%&%%&*-;;-=*=-,,,,,# ",
+" .&===&&$$$%$$%&==,;-=*=,,,,,-. ",
+" +&===&%$%%$$$&=;;;-==-,,,,-+ ",
+" .#-=&&%%%$$$&=-;=====;,,$. ",
+" +@$&&&%$$$%==----='&@+ "};
diff --git a/test/pixmaps/green_bomb.xpm b/test/pixmaps/green_bomb.xpm
new file mode 100644
index 0000000..7e1d5e7
--- /dev/null
+++ b/test/pixmaps/green_bomb.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * green_bomb_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #003700",
+"+ c #003E00",
+"@ c #004405",
+"# c #004600",
+"$ c #005E00",
+"% c #1B541B",
+"& c #006E00",
+"* c #2C602D",
+"= c #008B00",
+"- c #3E6D3F",
+"; c #358335",
+"> c #00A800",
+", c #4E7B4E",
+"' c #00B700",
+") c #00C100",
+"! c #5E895F",
+"~ c #00CD00",
+"{ c #32B12E",
+"] c #40AA3D",
+"^ c #00D800",
+"/ c #28C42B",
+"( c #6D9A6E",
+"_ c #41C442",
+": c #5CCB5D",
+"< c #58DA59",
+"[ c #7EC678",
+"} c #73D173",
+"| c #73E773",
+"1 c #83EB84",
+"2 c #93EB92",
+"3 c #A0E7A0",
+" @&>)'''''))))''')))>&# ",
+" .=~~|2333333333333332|/'=. ",
+" +~^1222233333323333333332''@ ",
+" .)~212122123222222333333333/). ",
+" =~12111111121211112222[3[322~= ",
+"@)<1|11|||||121111||1112}[[[}|~@",
+"=/|||||||||}[!((((([}|}1}}}[}})=",
+">/<:<|<|<|(!!!(!((((((::|}1}}}_>",
+")<<<<<<<:!!!!!!!!!!!!(!}<:<::}:)",
+"'</</<_:-,-!-!,!,,,,,,,,:<<::::'",
+">_//</_,---------,,,;,,,;:___]:>",
+"'/////]-, --------*--;*--]_{_]]>",
+"'/////;.---.--***********;_{{{]>",
+")~))>{**.-.*.%%%*%%*%****%//{{>>",
+"'))/>>..%.*%%%%%#%%%%%%%%%'/'/>'",
+")~))'{...+++@@##%###@@@@#@)'/'/>",
+")~~~)'.@@@@@@@@@@@#%#@@@@@''>'''",
+"))~))'++@@##+++@@#+#@+.+@+'''''>",
+">)))')@####+.++++++++++@@@)''>>>",
+"'>')))&###@#+.....+++@+@#&~)'>>>",
+">''))~>#####+........++@#>^~)'>>",
+"'')~~^^&####++......+.++&)~~~'''",
+"'))~~^^)$###@+.......+++>~~~))''",
+"'/')~^^)>#@+++++......#=~)~~~)))",
+">''))))')>$++@@@#++++$>'))~~~~)>",
+"='''))''>')=&#+#+@+&>)'')~~^^^^=",
+"+'''''>>>>''))')))~)))'''~~^^~~#",
+" ='''''>=>>>>>'')~~~~)))~~^~~^= ",
+" .>)))''>=>>>>>'')~~~'))~^^^~~. ",
+" @))))'>>>>>=>>)~~~))))^^^~~+ ",
+" .=~)'>>>>>>>')~~~))))~^^>. ",
+" #&>'''>>=>>)~))))))>=@ "};
diff --git a/test/pixmaps/magenta.xpm b/test/pixmaps/magenta.xpm
new file mode 100644
index 0000000..2405cee
--- /dev/null
+++ b/test/pixmaps/magenta.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * magenta_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #380F3F",
+"+ c #490754",
+"@ c #890089",
+"# c #9E02A1",
+"$ c #A800A6",
+"% c #AF00B1",
+"& c #B900B6",
+"* c #B902BE",
+"= c #C200C3",
+"- c #CC00C8",
+"; c #D100D2",
+"> c #DE00DB",
+", c #CC18CC",
+"' c #C324C3",
+") c #BC33BC",
+"! c #D629D5",
+"~ c #B93DB9",
+"{ c #D23BD2",
+"] c #D34BD2",
+"^ c #CF53D0",
+"/ c #CE5ECE",
+"( c #E551E4",
+"_ c #E366E3",
+": c #D473D4",
+"< c #DD6DDD",
+"[ c #EB7BEC",
+"} c #E683E5",
+"| c #DD8BDD",
+"1 c #F18FF2",
+"2 c #F09BF0",
+"3 c #E7A2E8",
+" +@#=*&%&*====&%&===$@+ ",
+" .@=!_233333333333333|/{*@. ",
+" +;>[22223333332233333333|'=+ ",
+" .=!12111112222122233333333|{-. ",
+" @,}}}}1[1[[1}21111}1|||||3||;# ",
+"+=_<[[[[[[[[}:}[[[[[}}}|||||:<=+",
+"@=<<<_<[__[<<:::[[_[_[<::::|::'@",
+"${_/______</:/:<______<//:::::]$",
+"*]]^]_]_^^^//^//__((___/^///://*",
+"%]]]]]]~^^~^~/~^^((((((]^^~/~//&",
+"$){{{]~~~~~~~])~^]((!((]]^~^~~~#",
+"%{{){')~~~~)))]{)'{{{!{{))~~~~~#",
+"%''')')~#)))''''{!!{{!{{{'~~~~~#",
+"=,='&#$%)&&&',!,,,',,!!''''%~#~$",
+"&,*'$$$$&'',,,-,,-,,'=,',''&)%%%",
+"==-=&$$%%&--,-,,',,==&&==,*&&&&%",
+"=;-;=&$&=;;;==*===,=**%'=&*%'&&%",
+"*=;=*&*&=;==**&*=====&&&*=&*&%%%",
+"%*==*-=;-;-=%%$&&*=&**==;==*%$$$",
+"$%&&*=;;;;;=&$%$$%%*&&*--;==*%%$",
+"%%*==;;>>;;;=%$$#$$%%%*=;;;-=%%%",
+"&&=,-;>>;>;-=%%###$$%%&==--;=&%%",
+"&&*;->>>>>;=&%%$#$$$$$%==;,--=&&",
+"=*&=;;;;;;-&**&&%$$$$%&&-=;;=&==",
+"$*%*===*&===&===***&****==;;;-;$",
+"@&&&*=%$%%*&=---==&===*&&=-;>;;@",
+"+*&&&&&$#$%&**&=&;=-==**=;;;>;;+",
+" @****%$##$%%$&&==;;-=&=-;>;;;@ ",
+" .%&==*%$#$$$#$%&=;;-=&=;;>;-;. ",
+" +====&$$$$$$$&----=*==;>;>;+ ",
+" .#==&%$$%##$%=;;-====;;;#. ",
+" +@#%*%$$##%*===-=-&$@+ "};
diff --git a/test/pixmaps/magenta_bomb.xpm b/test/pixmaps/magenta_bomb.xpm
new file mode 100644
index 0000000..4cd1816
--- /dev/null
+++ b/test/pixmaps/magenta_bomb.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * magenta_bomb_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #3A033B",
+"+ c #410142",
+"@ c #48004B",
+"# c #6C006C",
+"$ c #541954",
+"% c #840084",
+"& c #9B009D",
+"* c #612F61",
+"= c #AC00AC",
+"- c #792A7D",
+"; c #BA00B9",
+"> c #C200C2",
+", c #813285",
+"' c #D000D0",
+") c #734472",
+"! c #B91EBA",
+"~ c #8E488B",
+"{ c #B034B1",
+"] c #855A85",
+"^ c #CD31CD",
+"/ c #C643C7",
+"( c #967098",
+"_ c #AC6DAC",
+": c #C960CA",
+"< c #D859D8",
+"[ c #E770E7",
+"} c #E376E3",
+"| c #DD7CDD",
+"1 c #EF8BEF",
+"2 c #E894E8",
+"3 c #E7A2E8",
+" @%&>;;=;;>>>>;=;>>>=%@ ",
+" .&'^[1333333333333332:^;%. ",
+" @>'[22233333332333333333|^;@ ",
+" .'^121111112221112333333333^'. ",
+" &^1111111111222111122222_322'& ",
+"@><}}}1[1[[[}}1111[}}}|2|2|_2[>@",
+"%>}[}[[[[[[2_((((((2|[}|||||||>%",
+"=^<<<<<<[:_]((((((](]_:::::|:|/=",
+";<<<<<<<:]]]]]]]]]]]]]]::::::::>",
+";//<^<^:)))])])])])]]]]]<<:{::<=",
+"=/^^^</))))))))))))~))))~//<{:{&",
+";^/^^^%**) )***)*)*)*)*)){/{{{{=",
+";^^!/!-**************-***,{/{{{&",
+";>;!={*.*.*.*$*$$$$$*$*$**!!{{{=",
+";'>!=&..*.*.$$$$$$$$$$$$$$!;!!=!",
+">>>>!{.....$.@+@@@$+$+$+$$;!;!!=",
+";''>>=...++@+++++@@++...++;!;;;;",
+";>'';;.++@@+.+..+++++..+++>;;===",
+";;;>>>+++@++..++.+++++++++>;;===",
+"==;;;>%+@+@++.......++++@#>>;===",
+"=;;>>>=+@+@@+.........++@=''>===",
+";;>>'''#@@+++...........#>'>';==",
+";;>>'''^@@@++..........+=''>>>>;",
+";;;>''''=@++++......+.+&>>''>>;;",
+"=;;>>'>;>=#.++++.....#&;>>'''''=",
+"%!;;>;;===;%#++++++#&;;;;>'''''%",
+"@;;;;;;=&==>;;>;>>>'>>;;>''''''@",
+" &=!;;==&&======>>''>>;>>'''''& ",
+" .;;;>;==&===&=;;>''';;>'''''>. ",
+" @;>>>;=&&==&=;>'>'>>>''''''@ ",
+" .&>>==;==&=&=>'>>>>;>'''{. ",
+" @%======&&=;>'>'>>>!%@ "};
diff --git a/test/porsche.xpm b/test/pixmaps/porsche.xpm
index be33073..be33073 100644
--- a/test/porsche.xpm
+++ b/test/pixmaps/porsche.xpm
diff --git a/test/porsche1.xpm b/test/pixmaps/porsche1.xpm
index cb53d0e..3a54665 100644
--- a/test/porsche1.xpm
+++ b/test/pixmaps/porsche1.xpm
@@ -1,5 +1,5 @@
/* XPM */
-static char * porsche[] = {
+static const char * porsche[] = {
/* width height ncolors chars_per_pixel */
"64 64 -4 1 ",
/* colormap */
diff --git a/test/pixmaps/red.xpm b/test/pixmaps/red.xpm
new file mode 100644
index 0000000..4672618
--- /dev/null
+++ b/test/pixmaps/red.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * red_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #2D0001",
+"+ c #440000",
+"@ c #850000",
+"# c #A20000",
+"$ c #AC0001",
+"% c #B70000",
+"& c #C30000",
+"* c #D10000",
+"= c #AB1111",
+"- c #BF0C10",
+"; c #DD0000",
+"> c #CD191B",
+", c #BB2222",
+"' c #B53A39",
+") c #CF2F30",
+"! c #C33738",
+"~ c #C34746",
+"{ c #E14548",
+"] c #D44D4C",
+"^ c #CC5554",
+"/ c #E25858",
+"( c #DB6161",
+"_ c #D16867",
+": c #E96A6B",
+"< c #E27373",
+"[ c #DA7D7E",
+"} c #EE8283",
+"| c #DD8D8C",
+"1 c #EF9191",
+"2 c #F09D9B",
+"3 c #E9A3A2",
+" +@#&%%%%%&&&&%%%&&&#@+ ",
+" .#*):1333333333333332(!$#. ",
+" +&><22223333332333333333[,%+ ",
+" .&)11111111122111233333333|)*. ",
+" #>}}1}}}}1}}|111}}}||[||||||># ",
+"+%/<<<}}:}<}}[<[}}}}}}[[[|||[(&+",
+"@)_<<<:<::<<_<<<<:::<<<[[[[[[[)@",
+"#)(((/(:::(_____<:::::(____[__!#",
+"%{^](//^^(^^^_^^((///:/(^^_^__^&",
+"%~]]]]]~~~^~^~^^~///{/]^^^~^_^^%",
+"$!!!!!]'~'~~~~~~~{{{{{{{~]~~'^^#",
+"%!){)!''''''!!!!!!!){){!!'~''''#",
+"%,),,,!!,',!,)))))))))))!!!''''#",
+"&>-,,====,=,,>>>>>>)>>>)),,,@''#",
+"%>--=====-->>>>>>>>>>)->>-),,==%",
+"&&&-$==#--&**&&&&&&&---%-------$",
+"&**&&%$%&&*&&&&-&&>&%%-%&&%$$--%",
+"%&*&&%%&&**&&-%%%&*&&%%&%&&%%%$$",
+"%%&&&%&&***&%$%%%%&&%%%&&&&%%$$$",
+"$%%%&&**;**&%$$$$$%%%%&***&&%$##",
+"$%%&&**;****&$$###$%%$%&&***&%%$",
+"%%&&**;;;;**%%#####$$%%%**&*&%$%",
+"%&&&*;*;*;*&%%$####$#$%%&***&&%%",
+"&%%&******&&%%%%$###$%%&&&&*&&&&",
+"#&%&&&&&&&&&&&&&&%%%%&%&&&***&&$",
+"@%%$&&$$$$%%&&&&&&&&%%&%%****;*@",
+"+%%%%&$###$%&%&&&&&**%%&%&*;*;*+",
+" @%$&%%###$$$%$%%&**&&&%**;**&# ",
+" .&%%&&$#######%&&***%&&**;**&. ",
+" +&*&&%$##$##$%&&**&&%&*;*;*+ ",
+" .#&&%%%#$###%&&&&&&&&*;*#. ",
+" +@#$$%%###$&&*&&&&&#@+ "};
diff --git a/test/pixmaps/red_bomb.xpm b/test/pixmaps/red_bomb.xpm
new file mode 100644
index 0000000..312fbd3
--- /dev/null
+++ b/test/pixmaps/red_bomb.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * red_bomb_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #340001",
+"+ c #3C0100",
+"@ c #410003",
+"# c #440000",
+"$ c #760000",
+"% c #4E1414",
+"& c #A60000",
+"* c #B70000",
+"= c #5F2928",
+"- c #C30000",
+"; c #CE0000",
+"> c #D90000",
+", c #BE1315",
+"' c #653A3B",
+") c #733C3C",
+"! c #B92223",
+"~ c #D31A1D",
+"{ c #744A49",
+"] c #AE3232",
+"^ c #CD3B3B",
+"/ c #875B5B",
+"( c #C04848",
+"_ c #9A6E6E",
+": c #D35A5A",
+"< c #C57170",
+"[ c #DF6D6D",
+"} c #D97D7D",
+"| c #ED8181",
+"1 c #DD8D8C",
+"2 c #EF9191",
+"3 c #EAA2A1",
+" #$&-*****----***---&$# ",
+" .&;~[2333333333333331[^*&. ",
+" @*~|23233333333333333333}!*# ",
+" .-~222222222332223333333331^-. ",
+" &,|||||||22||222|2|11}111112~& ",
+"@-:|||||||[||}}|||||||}}1<11}:-#",
+"$~[[[[[[[[[}_______<}|[}}<<}<},$",
+"&^:[::[::[</_/______/<<[[[}<<|(&",
+"-(:::^:^[{/////////////<:::::[(-",
+",^^^:^:({{{{{{{{{{{//{/{(:::(::*",
+"&^^^^^:){''{{{{{{{)))))/)((((((&",
+"*^^^^^]'''''''''')'){)))'(]((](&",
+"*,^~!!==''.'===='=)=)='=')!]]]]&",
+"-~,,!!%%.==%=%==%=%=====%=^!]]]&",
+"*~,,&!.%%.%%%%%%%%%%%%%%%%,,,,!*",
+"---~&&...%+%@%@#%#%#%%%%%%,,&,,&",
+"-;;;**%++%+###@@@@#@@@@###***&**",
+"*-;--*.#####@+@#@#@#@@++#@*****&",
+"**-*--######@+.@@@@#++@##@-**&*&",
+"&**-*-$####++.++.+++@+###$--**&&",
+"***-;;&######+.+...++++##&;;-**&",
+"&*--;>>$####@+....+.+.++$;;;-*&*",
+"**--;>>;####@@+.+...@..#&;;----*",
+"***-;;;>*##+++@@.+++.@@&--;;;-*-",
+"&-*-;;-*;*$+#@##+@.@+$&*--;;;;-&",
+"$*******&*&&$###@@+$&****-;>>>>$",
+"#*****&&&&&&***------*-*-;;>>>;#",
+" &*****&&&&*&***---;;-*-;;>;;;& ",
+" .*-*-*&&&&&&&&&-;;;--*-;>>>;-. ",
+" #*;--*&&&&&&&*--;;---->;>>;# ",
+" .&--*&*&&&&&*-;------->>&. ",
+" #$&***&&&&&--;-----*$@ "};
diff --git a/test/srs.xbm b/test/pixmaps/srs.xbm
index b6a9c74..b6a9c74 100644
--- a/test/srs.xbm
+++ b/test/pixmaps/srs.xbm
diff --git a/test/sudoku.xbm b/test/pixmaps/sudoku.xbm
index 68b37d1..68b37d1 100644
--- a/test/sudoku.xbm
+++ b/test/pixmaps/sudoku.xbm
diff --git a/test/tile.xpm b/test/pixmaps/tile.xpm
index ddc656e..ddc656e 100644
--- a/test/tile.xpm
+++ b/test/pixmaps/tile.xpm
diff --git a/test/white_1.xbm b/test/pixmaps/white_1.xbm
index 0ade331..0ade331 100644
--- a/test/white_1.xbm
+++ b/test/pixmaps/white_1.xbm
diff --git a/test/white_2.xbm b/test/pixmaps/white_2.xbm
index b916d12..b916d12 100644
--- a/test/white_2.xbm
+++ b/test/pixmaps/white_2.xbm
diff --git a/test/white_3.xbm b/test/pixmaps/white_3.xbm
index 9b721d2..9b721d2 100644
--- a/test/white_3.xbm
+++ b/test/pixmaps/white_3.xbm
diff --git a/test/white_4.xbm b/test/pixmaps/white_4.xbm
index 189f497..189f497 100644
--- a/test/white_4.xbm
+++ b/test/pixmaps/white_4.xbm
diff --git a/test/whiteking_1.xbm b/test/pixmaps/whiteking_1.xbm
index 2a3fd08..2a3fd08 100644
--- a/test/whiteking_1.xbm
+++ b/test/pixmaps/whiteking_1.xbm
diff --git a/test/whiteking_2.xbm b/test/pixmaps/whiteking_2.xbm
index 9f2e24d..9f2e24d 100644
--- a/test/whiteking_2.xbm
+++ b/test/pixmaps/whiteking_2.xbm
diff --git a/test/whiteking_3.xbm b/test/pixmaps/whiteking_3.xbm
index 95b017d..95b017d 100644
--- a/test/whiteking_3.xbm
+++ b/test/pixmaps/whiteking_3.xbm
diff --git a/test/whiteking_4.xbm b/test/pixmaps/whiteking_4.xbm
index 6257a5d..6257a5d 100644
--- a/test/whiteking_4.xbm
+++ b/test/pixmaps/whiteking_4.xbm
diff --git a/test/pixmaps/yellow.xpm b/test/pixmaps/yellow.xpm
new file mode 100644
index 0000000..b493296
--- /dev/null
+++ b/test/pixmaps/yellow.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * yellow_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #2A4602",
+"+ c #435B00",
+"@ c #818600",
+"# c #969900",
+"$ c #A3A400",
+"% c #B0AF00",
+"& c #B4B425",
+"* c #BAB800",
+"= c #BABE02",
+"- c #B4B73F",
+"; c #C0C300",
+"> c #C7C905",
+", c #C6C821",
+"' c #CBCC00",
+") c #CAC835",
+"! c #C9C943",
+"~ c #D1D201",
+"{ c #C7C94E",
+"] c #CACB5D",
+"^ c #D8D700",
+"/ c #D9DB3C",
+"( c #D5D67B",
+"_ c #DADB6D",
+": c #DFDE57",
+"< c #DFDF64",
+"[ c #D9DB8A",
+"} c #EAEB76",
+"| c #E7E7A1",
+"1 c #EBEC82",
+"2 c #EEED91",
+"3 c #EEEF9C",
+" +@$;**%**==;=*%*=;;$@+ ",
+" .#'/<2||||||||||||||[_)*#. ",
+" +>^}32233||3|333||||||||(*=+ ",
+" .>'2222222233322223||||||||,'. ",
+" #,1111111112222212122[[[[[[[^# ",
+"+*:_111}}}}1_1(111}1111([[[[[_'+",
+"@,___}}}}}}_____1}}}}}_(((((((,@",
+"$/<<:<<<<<__](]]<}:}<}__](](](!$",
+"*:!<!::::{{]{]]{<:::::::<{]]]]{*",
+"*!!!:!!{{{]{{{{{!}///:::!<{]]]]*",
+"%!))/!!----{!!!!!::///::!!!{---$",
+"%))!))-&-&-&!&!!))/////)!!!!---$",
+"*,,)&*&&&&&&&),))))///,))&&----$",
+"=,,*&&$&&&&&)','''',,',,)))*&$&%",
+"=;,*&$$%%*>>'''/,/'),,'>>,)*&&&%",
+"*>';*&$&*;''',>;;>>'****,*****%%",
+"*'~'**%%;>~'>,;***''****;;******",
+"*>'>;***>'^****;'*>>;***;,**%*%%",
+"%*;*;*''^'~>*%%*****,*;*'>,*%%$%",
+"%****''^~^~;*%%%%%*****''''>=%%$",
+"%**>;'^^^^^'*%$$$$%%%**>''''*%%%",
+"%**>^^^^^^~^*%%$#$$%%%**>'~''=%%",
+"*;*>'^^^^^~;*%%$$$#$$%**'>~';==*",
+";***'^~'^~;;****%%%%%****>'';;*=",
+"%**;;>;**;;*;;;***%***;*;;'^~~>%",
+"@***,**%%****>''>;*;*;***>^~^~~@",
+"+*****%$#%%*****;>>'';***'^~^^~+",
+" #*****$$#%%%%****'''>*;'^~~~~# ",
+" .%;*,;%$$$$$$%**~^'>**>~^^^~>. ",
+" +*>'*%%$%%$$$**>'^';;*~^^~>+ ",
+" .#';*%$$%$$$*;';>>*>;~~^$. ",
+" +@#%**%$$$%>*>>>'*>$@+ "};
diff --git a/test/pixmaps/yellow_bomb.xpm b/test/pixmaps/yellow_bomb.xpm
new file mode 100644
index 0000000..f95ee9b
--- /dev/null
+++ b/test/pixmaps/yellow_bomb.xpm
@@ -0,0 +1,67 @@
+/* XPM */
+static const char * yellow_bomb_xpm[] = {
+"32 32 32 1",
+" c #000100",
+". c #393900",
+"+ c #2A4602",
+"@ c #434101",
+"# c #474900",
+"$ c #435B00",
+"% c #515116",
+"& c #5B5C20",
+"* c #676800",
+"= c #666635",
+"- c #7C7B50",
+"; c #848323",
+"> c #838442",
+", c #8E9200",
+"' c #8A8A5F",
+") c #A6A600",
+"! c #9A9B6D",
+"~ c #B2B102",
+"{ c #AFB132",
+"] c #BAB900",
+"^ c #C1C300",
+"/ c #C6C42C",
+"( c #CFD000",
+"_ c #C7C84F",
+": c #CBCA40",
+"< c #CCCC67",
+"[ c #D7D984",
+"} c #E0E167",
+"| c #E0E07A",
+"1 c #E6E6A0",
+"2 c #EEEE88",
+"3 c #EDED97",
+" $,)]]]~]]]]^]]~]]^^),$ ",
+" +,(/}2111111111111113</~,+ ",
+" $((}33333113133311111111[]^$ ",
+" +^(233223233333233111111111/(+ ",
+" ,^2222222222332222233[[1[[1[() ",
+"$^}2|2}22}22|||22222}22[[[[[[}^$",
+",^}}}|}}}}}[!!'!!!![<|}|<[[[[[^,",
+"):_}}}}}}}!''''''!''!!<|<<<<<<_)",
+"^:}:}}:}<'''-''''''''!'<}_}<<<_]",
+"]_:}/:}{-=--------'>'>--_}_____]",
+"~::/:/_>=-=--=--=--=---->____<<)",
+"~:///:;=============>===={:{{{{)",
+"]^///:>%=.=.========&====>{:{{{,",
+"^^^]~{.=.==.=%%%&&&&&=&&&%/~{{{~",
+"]^^/))....=.%%=%%%%&%%%%%%/~~~~~",
+"^^^^/{.=...%@@@@%#%@%@%%%%]/~/~~",
+"^((^]~...%%@@@@.@@@@@@.@@@]]]~]]",
+"]^((]/..@@@%..@@@@@@@.@.@@]~~]~~",
+"~]]^]]@%@#@@...@@@@@@.@@@@^]~))~",
+")~]]^^;@##@#@........@@@#;^^]~))",
+"~~]]^()#@##@@......@..@@@)((^]~)",
+"~]^^(((*####@..........@*(((^~~]",
+"]]^^(((^##@@@..........@)^^(^]]]",
+"/]]((((()##@..........@)(((((^]]",
+")]~]((^^])*@@@@.....@*,]]^^((((~",
+",]]]]]]~~~~,*@@#@@@*,]]]^^((((^,",
+"$~~]/]~)))~]]]]]^^(((^]]^(((((($",
+" ,]~]~~),))~~~~]]^((^^]]((((((, ",
+" +]]^^^])))))))~^^(((]]^((((((+ ",
+" $^^^]~)))))))]^(((^^](((((($ ",
+" +,(^]~)~))))~]^^^^^/^((({+ ",
+" $,,~]~)),)~^^(^(^^^/,$ "};
diff --git a/test/preferences.fl b/test/preferences.fl
index 5a8cbfb..306b880 100644
--- a/test/preferences.fl
+++ b/test/preferences.fl
@@ -22,13 +22,13 @@ decl {void writePrefs();} {public
Function {closeWindowCB( Fl_Widget*, void* )} {open private return_type void
} {
- code {delete myWindow;} {}
+ code {Fl::delete_widget(myWindow);} {}
}
Function {saveAndCloseWindowCB( Fl_Widget*, void* )} {open private return_type void
} {
code {writePrefs();
- delete myWindow;} {}
+ Fl::delete_widget(myWindow);} {}
}
Function {} {open return_type int
@@ -69,7 +69,7 @@ Function {} {open return_type int
}
}
Fl_Choice wWear {
- label {Wear:} open
+ label {Wear:} open selected
xywh {25 100 105 20} down_box BORDER_BOX align 5
} {
MenuItem {} {
@@ -93,15 +93,15 @@ Function {} {open return_type int
xywh {35 120 98 60}
} {
Fl_Round_Button wLeft {
- label {left side} selected
+ label {left side}
xywh {35 120 95 25} type Radio down_box ROUND_DOWN_BOX
}
Fl_Round_Button wRight {
- label {right side} selected
+ label {right side}
xywh {35 140 95 25} type Radio down_box ROUND_DOWN_BOX
}
Fl_Box {} {
- label {of the bed} selected
+ label {of the bed}
xywh {38 160 95 20}
}
}
diff --git a/test/resizebox.cxx b/test/resizebox.cxx
index b15a24c..4be89f6 100644
--- a/test/resizebox.cxx
+++ b/test/resizebox.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: resizebox.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: resizebox.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Resize box test program for the Fast Light Tool Kit (FLTK).
//
@@ -98,5 +98,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: resizebox.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: resizebox.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/scroll.cxx b/test/scroll.cxx
index a5beb84..e8d76d7 100644
--- a/test/scroll.cxx
+++ b/test/scroll.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: scroll.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: scroll.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Fl_Scroll test program for the Fast Light Tool Kit (FLTK).
//
@@ -71,7 +71,7 @@ void box_cb(Fl_Widget* o, void*) {
}
void type_cb(Fl_Widget*, void* v) {
- thescroll->type(int(v));
+ thescroll->type((long)v);
thescroll->redraw();
}
@@ -87,7 +87,7 @@ Fl_Menu_Item choices[] = {
};
void align_cb(Fl_Widget*, void* v) {
- thescroll->scrollbar.align(int(v));
+ thescroll->scrollbar.align((long)v);
thescroll->redraw();
}
@@ -140,5 +140,5 @@ int main(int argc, char** argv) {
}
//
-// End of "$Id: scroll.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: scroll.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/shape.cxx b/test/shape.cxx
index 00aa16d..87eb195 100644
--- a/test/shape.cxx
+++ b/test/shape.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: shape.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: shape.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Tiny OpenGL demo program for the Fast Light Tool Kit (FLTK).
//
@@ -113,5 +113,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: shape.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: shape.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/subwindow.cxx b/test/subwindow.cxx
index cc7cc5e..54f45bd 100644
--- a/test/subwindow.cxx
+++ b/test/subwindow.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: subwindow.cxx 4634 2005-11-04 08:23:20Z matt $"
+// "$Id: subwindow.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Nested window test program for the Fast Light Tool Kit (FLTK).
//
@@ -194,5 +194,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: subwindow.cxx 4634 2005-11-04 08:23:20Z matt $".
+// End of "$Id: subwindow.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/sudoku.cxx b/test/sudoku.cxx
index f6f8aec..5ab17ae 100644
--- a/test/sudoku.cxx
+++ b/test/sudoku.cxx
@@ -1,9 +1,9 @@
//
-// "$Id: sudoku.cxx 4744 2006-01-13 22:46:30Z mike $"
+// "$Id: sudoku.cxx 5675 2007-02-08 16:37:03Z mike $"
//
// Sudoku game using the Fast Light Tool Kit (FLTK).
//
-// Copyright 2005-2006 by Michael Sweet.
+// Copyright 2005-2007 by Michael Sweet.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
@@ -45,7 +45,7 @@
#ifdef WIN32
# include "sudokurc.h"
#elif !defined(__APPLE__)
-# include "sudoku.xbm"
+# include "pixmaps/sudoku.xbm"
#endif // WIN32
// Audio headers...
@@ -175,7 +175,9 @@ class Sudoku : public Fl_Window {
static void check_cb(Fl_Widget *widget, void *);
static void close_cb(Fl_Widget *widget, void *);
static void diff_cb(Fl_Widget *widget, void *d);
+ static void update_helpers_cb(Fl_Widget *, void *);
static void help_cb(Fl_Widget *, void *);
+ static void mute_cb(Fl_Widget *widget, void *);
static void new_cb(Fl_Widget *widget, void *);
static void reset_cb(Fl_Widget *widget, void *);
static void restart_cb(Fl_Widget *widget, void *);
@@ -196,6 +198,7 @@ class Sudoku : public Fl_Window {
void resize(int X, int Y, int W, int H);
void save_game();
void solve_game();
+ void update_helpers();
};
@@ -547,7 +550,7 @@ SudokuCell::handle(int event) {
break;
case FL_PUSH :
- if (Fl::event_inside(this)) {
+ if (!readonly() && Fl::event_inside(this)) {
if (Fl::event_clicks()) {
// 2+ clicks increments/sets value
if (value()) {
@@ -636,6 +639,8 @@ Sudoku::Sudoku()
{ "&Check Game", FL_COMMAND | 'c', check_cb, 0, 0 },
{ "&Restart Game", FL_COMMAND | 'r', restart_cb, 0, 0 },
{ "&Solve Game", FL_COMMAND | 's', solve_cb, 0, FL_MENU_DIVIDER },
+ { "&Update Helpers", 0, update_helpers_cb, 0, 0 },
+ { "&Mute Sound", FL_COMMAND | 'm', mute_cb, 0, FL_MENU_TOGGLE | FL_MENU_DIVIDER },
{ "&Quit", FL_COMMAND | 'q', close_cb, 0, 0 },
{ 0 },
{ "&Difficulty", 0, 0, 0, FL_SUBMENU },
@@ -652,7 +657,12 @@ Sudoku::Sudoku()
// Setup sound output...
- sound_ = new SudokuSound();
+ prefs_.get("mute_sound", i, 0);
+ if (i) {
+ // Mute sound?
+ sound_ = NULL;
+ items[6].flags |= FL_MENU_VALUE;
+ } else sound_ = new SudokuSound();
// Menubar...
prefs_.get("difficulty", difficulty_, 0);
@@ -714,7 +724,7 @@ Sudoku::Sudoku()
prefs_.get("width", W, 3 * GROUP_SIZE);
prefs_.get("height", H, 3 * GROUP_SIZE + MENU_OFFSET);
- resize(X, X, W, H);
+ resize(X, Y, W, H);
}
set_title();
@@ -723,7 +733,7 @@ Sudoku::Sudoku()
// Destroy the sudoku window...
Sudoku::~Sudoku() {
- delete sound_;
+ if (sound_) delete sound_;
}
@@ -810,7 +820,7 @@ Sudoku::check_game(bool highlight) {
cell->readonly(1);
}
- sound_->play('A' + grid_cells_[i][8]->value() - 1);
+ if (sound_) sound_->play('A' + grid_cells_[i][8]->value() - 1);
}
}
}
@@ -839,10 +849,84 @@ Sudoku::diff_cb(Fl_Widget *widget, void *d) {
s->new_game(s->seed_);
s->set_title();
+ if (diff > 1)
+ {
+ // Display a message about the higher difficulty levels for the
+ // Sudoku zealots of the world...
+ int val;
+
+ prefs_.get("difficulty_warning", val, 0);
+
+ if (!val)
+ {
+ prefs_.set("difficulty_warning", 1);
+ fl_alert("Note: 'Hard' and 'Impossible' puzzles may have more than "
+ "one possible solution.\n"
+ "This is not an error or bug.");
+ }
+ }
+
prefs_.set("difficulty", s->difficulty_);
}
}
+// Update the little marker numbers in all cells
+void
+Sudoku::update_helpers_cb(Fl_Widget *widget, void *) {
+ Sudoku *s = (Sudoku *)(widget->window() ? widget->window() : widget);
+ s->update_helpers();
+}
+
+void
+Sudoku::update_helpers() {
+ int i, j, k;
+ // first we delete any entries that the user may have made
+ for (i=0; i<9; i++) {
+ for (j=0; j<9; j++) {
+ SudokuCell *cell = grid_cells_[i][j];
+ for (k = 0; k < 8; k++) {
+ cell->test_value(0, k);
+ }
+ }
+ }
+ // now go through all cells and find out, what we can not be
+ for (i=0; i<81; i++) {
+ char taken[10] = { 0 };
+ // find our destination cell
+ int row = i/9;
+ int col = i%9;
+ SudokuCell *dst_cell = grid_cells_[row][col];
+ if (dst_cell->value()) continue;
+ // find all values already taken in this row
+ for (j=0; j<9; j++) {
+ SudokuCell *cell = grid_cells_[row][j];
+ int v = cell->value();
+ if (v) taken[v] = 1;
+ }
+ // find all values already taken in this column
+ for (j=0; j<9; j++) {
+ SudokuCell *cell = grid_cells_[j][col];
+ int v = cell->value();
+ if (v) taken[v] = 1;
+ }
+ // now find all values already taken in this sqare
+ int ro = (row/3) * 3;
+ int co = (col/3) * 3;
+ for (j=0; j<3; j++) {
+ for (k=0; k<3; k++) {
+ SudokuCell *cell = grid_cells_[ro+j][co+k];
+ int v = cell->value();
+ if (v) taken[v] = 1;
+ }
+ }
+ // transfer our findings to the markers
+ for (k = 1, j = 0; k <= 9; k++) {
+ if (!taken[k])
+ dst_cell->test_value(k, j++);
+ }
+ }
+}
+
// Show the on-line help...
void
@@ -866,7 +950,17 @@ Sudoku::help_cb(Fl_Widget *, void *) {
"only once in each column and row. In addition, each 3x3 subgrid\n"
"may only contain one of each number.</P>\n"
- "<P>This version of the puzzle is Copyright 2005 by Michael R Sweet</P>\n"
+ "<P>This version of the puzzle is copyright 2005-2006 by Michael R\n"
+ "Sweet.</P>\n"
+
+ "<P><B>Note:</B> The 'Hard' and 'Impossible' difficulty\n"
+ "levels generate Sudoku puzzles with multiple possible solutions.\n"
+ "While some purists insist that these cannot be called 'Sudoku'\n"
+ "puzzles, the author (me) has personally solved many such puzzles\n"
+ "in published/printed Sudoku books and finds them far more\n"
+ "interesting than the simple single solution variety. If you don't\n"
+ "like it, don't play with the difficulty set to 'High' or\n"
+ "'Impossible'.</P>\n"
"<H2>How to Play the Game</H2>\n"
@@ -944,6 +1038,22 @@ Sudoku::load_game() {
}
+// Mute/unmute sound...
+void
+Sudoku::mute_cb(Fl_Widget *widget, void *) {
+ Sudoku *s = (Sudoku *)(widget->window() ? widget->window() : widget);
+
+ if (s->sound_) {
+ delete s->sound_;
+ s->sound_ = NULL;
+ prefs_.set("mute_sound", 1);
+ } else {
+ s->sound_ = new SudokuSound();
+ prefs_.set("mute_sound", 0);
+ }
+}
+
+
// Create a new game...
void
Sudoku::new_cb(Fl_Widget *widget, void *) {
@@ -1020,7 +1130,7 @@ Sudoku::new_game(time_t seed) {
}
// Show N cells...
- count = 10 * (5 - difficulty_);
+ count = 11 * (5 - difficulty_);
int numbers[9];
@@ -1050,8 +1160,6 @@ Sudoku::new_game(time_t seed) {
break;
}
}
-
- sound_->play('A' + t - 1);
}
}
}
@@ -1131,7 +1239,7 @@ Sudoku::restart_cb(Fl_Widget *widget, void *) {
int v = cell->value();
cell->value(0);
cell->color(FL_LIGHT3);
- if (v) s->sound_->play('A' + v - 1);
+ if (v && s->sound_) s->sound_->play('A' + v - 1);
}
}
@@ -1200,7 +1308,7 @@ Sudoku::solve_game() {
cell->color(FL_GRAY);
}
- sound_->play('A' + grid_cells_[i][8]->value() - 1);
+ if (sound_) sound_->play('A' + grid_cells_[i][8]->value() - 1);
}
}
@@ -1222,5 +1330,5 @@ main(int argc, char *argv[]) {
//
-// End of "$Id: sudoku.cxx 4744 2006-01-13 22:46:30Z mike $".
+// End of "$Id: sudoku.cxx 5675 2007-02-08 16:37:03Z mike $".
//
diff --git a/test/sudokurc.h b/test/sudokurc.h
index 9a6bc90..0cea543 100644
--- a/test/sudokurc.h
+++ b/test/sudokurc.h
@@ -1,16 +1,16 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by icons.rc
-//
-#define IDI_ICON 101
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 105
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by icons.rc
+//
+#define IDI_ICON 101
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 105
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/test/symbols.cxx b/test/symbols.cxx
index afeb227..e12bbf3 100644
--- a/test/symbols.cxx
+++ b/test/symbols.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: symbols.cxx 4392 2005-06-01 20:10:53Z matt $"
+// "$Id: symbols.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Symbol test program for the Fast Light Tool Kit (FLTK).
//
@@ -115,7 +115,7 @@ bt("@arrow");
bt("@returnarrow");
bt("@square");
bt("@circle");
-bt("@00010line");
+bt("@line");
bt("@menu");
bt("@UpArrow");
bt("@DnArrow");
@@ -155,5 +155,5 @@ bt("@redo");
}
//
-// End of "$Id: symbols.cxx 4392 2005-06-01 20:10:53Z matt $".
+// End of "$Id: symbols.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/tabs.fl b/test/tabs.fl
index 080a133..29b8b37 100644
--- a/test/tabs.fl
+++ b/test/tabs.fl
@@ -1,128 +1,288 @@
# data file for the Fltk User Interface Designer (fluid)
-version 1.0107
+version 1.0108
header_name {.h}
code_name {.cxx}
Function {} {open
} {
- Fl_Window foo_window {open
- xywh {733 489 320 320} type Double resizable visible
+ Fl_Window foo_window {
+ label {Comparison of Fl_Tab (left) vs. Fl_Wizard (right)} open
+ xywh {423 205 642 337} type Double resizable visible
} {
- Fl_Tabs {} {open selected
- xywh {10 10 300 200} selection_color 4 labelcolor 7 resizable
+ Fl_Box {} {
+ label {class Fl_Tabs}
+ xywh {95 0 130 35} labeltype ENGRAVED_LABEL labelfont 1
+ }
+ Fl_Tabs {} {
+ tooltip {the various index cards test different aspects of the Fl_Tabs widget} xywh {10 35 300 205} selection_color 4 labelcolor 7 resizable
+ } {
+ Fl_Group {} {
+ label {Label&1} open selected
+ tooltip {this Tab tests correct keyboard navigation between text input fields} xywh {10 60 300 180} selection_color 1 resizable
+ } {
+ Fl_Input {} {
+ label {input:}
+ tooltip {This is the first input field} xywh {60 80 240 40}
+ }
+ Fl_Input {} {
+ label {input2:}
+ xywh {60 120 240 30}
+ code0 {o->tooltip("");}
+ }
+ Fl_Input {} {
+ label {input3:}
+ xywh {60 150 240 80}
+ }
+ }
+ Fl_Group {} {
+ label {tab&2} open
+ tooltip {tab2 tests among other things the cooperation of modal windows and tabs} xywh {10 60 300 180} selection_color 2 hide
+ } {
+ Fl_Button {} {
+ label button1
+ callback {fl_message("Test to see if this modal window prevents you from "
+ "changing the tabs. It should.");}
+ xywh {20 90 100 30}
+ code0 {\#include <FL/fl_ask.H>}
+ }
+ Fl_Input {} {
+ label {input in box2}
+ xywh {140 130 100 30}
+ }
+ Fl_Button {} {
+ label {This is stuff inside the Fl_Group "tab2"}
+ xywh {30 170 260 30}
+ }
+ Fl_Button {} {
+ label {Test event blocking by modal window}
+ callback {fl_message("Make sure you cannot change the tabs while this modal window is up");}
+ xywh {30 200 260 30}
+ code0 {\#include <FL/fl_ask.H>}
+ }
+ }
+ Fl_Group {} {
+ label {tab&3} open
+ tooltip {tab3 checks for correct keyboard navigation} xywh {10 60 300 180} selection_color 3 hide
+ } {
+ Fl_Button {} {
+ label button2
+ xywh {20 90 60 80}
+ }
+ Fl_Button {} {
+ label button
+ xywh {80 90 60 80}
+ }
+ Fl_Button {} {
+ label button
+ xywh {140 90 60 80}
+ }
+ }
+ Fl_Group {} {
+ label {&tab4} open
+ tooltip {this tab show the issue of indicating a selcted tab if the tab layouts are very similar} xywh {10 60 300 180} selection_color 5 labeltype ENGRAVED_LABEL labelfont 2 hide
+ } {
+ Fl_Button {} {
+ label button2
+ xywh {20 80 60 110}
+ }
+ Fl_Button {} {
+ label button
+ xywh {80 80 60 110}
+ }
+ Fl_Button {} {
+ label button
+ xywh {140 80 60 110}
+ }
+ }
+ Fl_Group {} {
+ label {@fileprint &print} open
+ tooltip {tab5 verifies if visibility requests are handled correctly} xywh {10 60 300 180} hide
+ } {
+ Fl_Button {} {
+ label button2
+ tooltip {button2 has a different tooltp than tab5} xywh {20 75 60 80}
+ }
+ Fl_Button {} {
+ label button
+ xywh {90 75 60 80}
+ }
+ Fl_Clock {} {
+ label {Make sure this clock does not use processor time when this tab is hidden or window is iconized}
+ xywh {160 75 100 100} box OSHADOW_BOX color 238 selection_color 0 labelfont 8 labelsize 10 align 130
+ }
+ Fl_Group {} {open
+ xywh {20 175 40 55} box THIN_DOWN_BOX color 173 align 16
+ class Fl_Window
+ } {}
+ Fl_Group {} {
+ label {subwindows:} open
+ xywh {65 175 40 55} box THIN_DOWN_BOX color 167
+ class Fl_Window
+ } {}
+ Fl_Group {} {open
+ xywh {110 175 40 55} box THIN_DOWN_BOX color 239 align 16
+ class Fl_Window
+ } {}
+ }
+ }
+ Fl_Box {} {
+ label {class Fl_Wizard}
+ xywh {410 0 130 35} labeltype ENGRAVED_LABEL labelfont 1
+ }
+ Fl_Wizard wWizard {
+ xywh {325 60 300 180}
} {
Fl_Group {} {
label Label1 open
- xywh {10 30 300 180} selection_color 1 hide resizable
+ tooltip {this Tab tests correct keyboard navigation between text input fields} xywh {325 60 300 180} selection_color 1 resizable
} {
Fl_Input {} {
label {input:}
- xywh {60 50 240 40}
+ tooltip {This is the first input field} xywh {375 80 240 40}
}
Fl_Input {} {
label {input2:}
- xywh {60 90 240 30}
+ xywh {375 120 240 30}
+ code0 {o->tooltip("");}
}
Fl_Input {} {
label {input3:}
- xywh {60 120 240 80}
+ xywh {375 150 240 80}
}
}
Fl_Group {} {
label tab2 open
- xywh {10 30 300 180} selection_color 2
+ tooltip {tab2 tests among other things the cooperation of modal windows and tabs} xywh {325 60 300 180} selection_color 2 hide
} {
Fl_Button {} {
label button1
callback {fl_message("Test to see if this modal window prevents you from "
"changing the tabs. It should.");}
- xywh {20 60 100 30}
+ xywh {335 90 100 30}
code0 {\#include <FL/fl_ask.H>}
}
Fl_Input {} {
label {input in box2}
- xywh {140 100 100 30}
+ xywh {455 130 100 30}
}
Fl_Button {} {
label {This is stuff inside the Fl_Group "tab2"}
- xywh {30 140 260 30}
+ xywh {345 170 260 30}
}
Fl_Button {} {
label {Test event blocking by modal window}
callback {fl_message("Make sure you cannot change the tabs while this modal window is up");}
- xywh {30 170 260 30}
+ xywh {345 200 260 30}
code0 {\#include <FL/fl_ask.H>}
}
}
Fl_Group {} {
label tab3 open
- xywh {10 30 300 180} selection_color 3 hide
+ tooltip {tab3 checks for correct keyboard navigation} xywh {325 60 300 180} selection_color 3 hide
} {
Fl_Button {} {
label button2
- xywh {20 60 60 80}
+ xywh {335 90 60 80}
}
Fl_Button {} {
label button
- xywh {80 60 60 80}
+ xywh {395 90 60 80}
}
Fl_Button {} {
label button
- xywh {140 60 60 80}
+ xywh {455 90 60 80}
}
}
Fl_Group {} {
label tab4 open
- xywh {10 30 300 180} selection_color 5 labelfont 2 hide
+ tooltip {this tab show the issue of indicating a selcted tab if the tab layouts are very similar} xywh {325 60 300 180} selection_color 5 labelfont 2 hide
} {
Fl_Button {} {
label button2
- xywh {20 50 60 110}
+ xywh {335 80 60 110}
}
Fl_Button {} {
label button
- xywh {80 50 60 110}
+ xywh {395 80 60 110}
}
Fl_Button {} {
label button
- xywh {140 50 60 110}
+ xywh {455 80 60 110}
}
}
Fl_Group {} {
label { tab5 } open
- xywh {10 30 300 180} labeltype ENGRAVED_LABEL hide
+ tooltip {tab5 verifies if visibility requests are handled correctly} xywh {325 60 300 180} labeltype ENGRAVED_LABEL hide
} {
Fl_Button {} {
label button2
- xywh {20 80 60 80}
+ tooltip {button2 has a different tooltp than tab5} xywh {335 75 60 80}
}
Fl_Button {} {
label button
- xywh {90 90 60 80}
+ xywh {405 75 60 80}
}
Fl_Clock {} {
label {Make sure this clock does not use processor time when this tab is hidden or window is iconized}
- xywh {160 50 100 100} box OSHADOW_BOX color 238 selection_color 0 labelfont 8 labelsize 10 align 130
+ xywh {475 75 100 100} box OSHADOW_BOX color 238 selection_color 0 labelfont 8 labelsize 10 align 130
}
+ Fl_Group {} {open
+ xywh {335 175 40 55} box THIN_DOWN_BOX color 173 align 16
+ class Fl_Window
+ } {}
+ Fl_Group {} {
+ label {subwindows:} open
+ xywh {380 175 40 55} box THIN_DOWN_BOX color 167
+ class Fl_Window
+ } {}
+ Fl_Group {} {open
+ xywh {425 175 40 55} box THIN_DOWN_BOX color 239 align 16
+ class Fl_Window
+ } {}
+ }
+ }
+ Fl_Group {} {
+ xywh {410 245 130 25}
+ } {
+ Fl_Button {} {
+ label {@|<}
+ callback {wWizard->value(wWizard->child(0));}
+ tooltip {go to first page [Home]} xywh {410 245 30 25} shortcut 0xff50
+ }
+ Fl_Button {} {
+ label {@<}
+ callback {wWizard->prev();}
+ tooltip {go to previous page [left arrow]} xywh {440 245 30 25} shortcut 0xff51
+ }
+ Fl_Button {} {
+ label {@>}
+ callback {wWizard->next();}
+ tooltip {go to next page in wizard [right arrow]} xywh {480 245 30 25} shortcut 0xff53
+ }
+ Fl_Button {} {
+ label {@>|}
+ callback {int last = wWizard->children()-1;
+wWizard->value(wWizard->child(last));}
+ tooltip {go to last page [End]} xywh {510 245 30 25} shortcut 0xff57
}
}
Fl_Input {} {
label {inputA:}
- xywh {60 220 130 30}
+ xywh {60 255 130 25}
}
Fl_Input {} {
label {inputB:}
- xywh {60 250 250 30}
+ xywh {60 285 250 25}
}
Fl_Button {} {
label cancel
callback {exit(1);}
- xywh {180 290 60 30}
+ xywh {475 295 70 30}
code0 {\#include <stdlib.h>}
}
Fl_Return_Button {} {
label OK
callback {exit(0);}
- xywh {250 290 60 30}
+ xywh {555 295 70 30}
code0 {\#include <stdlib.h>}
}
}
diff --git a/test/threads.cxx b/test/threads.cxx
index dcf9116..af9ff12 100644
--- a/test/threads.cxx
+++ b/test/threads.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: threads.cxx 4748 2006-01-15 02:26:54Z mike $"
+// "$Id: threads.cxx 5749 2007-03-20 10:41:14Z matt $"
//
// Threading example program for the Fast Light Tool Kit (FLTK).
//
@@ -32,6 +32,7 @@
# include <FL/Fl_Window.H>
# include <FL/Fl_Browser.H>
# include <FL/Fl_Value_Output.H>
+# include <FL/fl_ask.H>
# include "threads.h"
# include <stdio.h>
# include <math.h>
@@ -42,12 +43,20 @@ Fl_Browser *browser1, *browser2;
Fl_Value_Output *value1, *value2;
int start2 = 3;
+void magic_number_cb(void *p)
+{
+ Fl_Value_Output *w = (Fl_Value_Output*)p;
+ w->labelcolor(FL_RED);
+ w->redraw_label();
+}
+
void* prime_func(void* p)
{
Fl_Browser* browser = (Fl_Browser*) p;
Fl_Value_Output *value;
int n;
int step;
+ char proud = 0;
if (browser == browser2) {
n = start2;
@@ -62,22 +71,36 @@ void* prime_func(void* p)
// very simple prime number calculator !
for (;;) {
- int p;
+ int pp;
int hn = (int)sqrt((double)n);
- for (p=3; p<=hn; p+=2) if ( n%p == 0 ) break;
- if (p >= hn) {
+ for (pp=3; pp<=hn; pp+=2) if ( n%pp == 0 ) break;
+ if (pp >= hn) {
char s[128];
sprintf(s, "%d", n);
+
+ // Obtain a lock before we access the browser widget...
Fl::lock();
+
browser->add(s);
browser->bottomline(browser->size());
if (n > value->value()) value->value(n);
n += step;
+
+ // Release the lock...
Fl::unlock();
- Fl::awake((void*) (browser == browser1? p:0)); // Cause the browser to redraw ...
+
+ // Send a message to the main thread, at which point it will
+ // process any pending redraws for our browser widget. The
+ // message we pass here isn't used for anything, so we could also
+ // just pass NULL.
+ Fl::awake(p);
+ if (n>10000 && !proud) {
+ proud = 1;
+ Fl::awake(magic_number_cb, value);
+ }
} else {
- // This should not be necessary since "n" and "step" a local variables,
+ // This should not be necessary since "n" and "step" are local variables,
// however it appears that at least MacOS X has some threading issues
// that cause semi-random corruption of the (stack) variables.
Fl::lock();
@@ -106,10 +129,17 @@ int main(int argc, char **argv)
browser1->add("Prime numbers:");
browser2->add("Prime numbers:");
- Fl::lock(); // you must do this before creating any threads!
+ // Enable multi-thread support by locking from the main
+ // thread. Fl::wait() and Fl::run() call Fl::unlock() and
+ // Fl::lock() as needed to release control to the child threads
+ // when it is safe to do so...
+ Fl::lock();
+
+ // Start threads...
// One thread displaying in one browser
fl_create_thread(prime_thread, prime_func, browser1);
+
// Several threads displaying in another browser
fl_create_thread(prime_thread, prime_func, browser2);
fl_create_thread(prime_thread, prime_func, browser2);
@@ -118,12 +148,7 @@ int main(int argc, char **argv)
fl_create_thread(prime_thread, prime_func, browser2);
fl_create_thread(prime_thread, prime_func, browser2);
- // Fl::run();
- while (w->visible()) {
- Fl::wait();
-// void* m = Fl::thread_message();
-// printf("Received message: %p\n", m);
- }
+ Fl::run();
return 0;
}
@@ -137,5 +162,5 @@ int main() {
//
-// End of "$Id: threads.cxx 4748 2006-01-15 02:26:54Z mike $".
+// End of "$Id: threads.cxx 5749 2007-03-20 10:41:14Z matt $".
//
diff --git a/test/threads.h b/test/threads.h
index cc9fedf..ad316b5 100644
--- a/test/threads.h
+++ b/test/threads.h
@@ -1,5 +1,5 @@
//
-// "$Id: threads.h 4748 2006-01-15 02:26:54Z mike $"
+// "$Id: threads.h 5519 2006-10-11 03:12:15Z mike $"
//
// Simple threading API for the Fast Light Tool Kit (FLTK).
//
@@ -77,5 +77,5 @@ static int fl_create_thread(Fl_Thread& t, void *(*f) (void *), void* p) {
#endif // !Threads_h
//
-// End of "$Id: threads.h 4748 2006-01-15 02:26:54Z mike $".
+// End of "$Id: threads.h 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/tile.cxx b/test/tile.cxx
index 69374de..820390a 100755
--- a/test/tile.cxx
+++ b/test/tile.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: tile.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: tile.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Tile test program for the Fast Light Tool Kit (FLTK).
//
@@ -88,5 +88,5 @@ int main(int argc, char** argv) {
}
//
-// End of "$Id: tile.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: tile.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/tiled_image.cxx b/test/tiled_image.cxx
index 9c415db..145a2ab 100644
--- a/test/tiled_image.cxx
+++ b/test/tiled_image.cxx
@@ -1,9 +1,9 @@
//
-// "$Id: tiled_image.cxx 4288 2005-04-16 00:13:17Z mike $"
+// "$Id: tiled_image.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Fl_Tiled_Image test program for the Fast Light Tool Kit (FLTK).
//
-// Copyright 1998-2005 by Bill Spitzak and others.
+// Copyright 1998-2006 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
@@ -34,7 +34,7 @@
#include <stdlib.h>
#include <math.h>
-#include "tile.xpm"
+#include "pixmaps/tile.xpm"
Fl_Button *b;
Fl_Window *w;
@@ -90,7 +90,6 @@ int main(int argc, char **argv) {
Fl_Button b(340,365,50,25,"Close"); ::b = &b;
b.callback(button_cb);
- b.box(FL_PLASTIC_UP_BOX);
group.end();
@@ -102,5 +101,5 @@ int main(int argc, char **argv) {
}
//
-// End of "$Id: tiled_image.cxx 4288 2005-04-16 00:13:17Z mike $".
+// End of "$Id: tiled_image.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/unittests.cxx b/test/unittests.cxx
index a624926..5c69278 100644
--- a/test/unittests.cxx
+++ b/test/unittests.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: unittests.cxx 4624 2005-11-02 12:52:44Z mike $"
+// "$Id: unittests.cxx 5519 2006-10-11 03:12:15Z mike $"
//
// Unit tests for the Fast Light Tool Kit (FLTK).
//
@@ -295,5 +295,5 @@ int main(int argc, char **argv) {
//
-// End of "$Id: unittests.cxx 4624 2005-11-02 12:52:44Z mike $".
+// End of "$Id: unittests.cxx 5519 2006-10-11 03:12:15Z mike $".
//
diff --git a/test/valuators.fl b/test/valuators.fl
index 5254d05..668a462 100644
--- a/test/valuators.fl
+++ b/test/valuators.fl
@@ -1,5 +1,5 @@
# data file for the Fltk User Interface Designer (fluid)
-version 1.0100
+version 1.0107
header_name {.h}
code_name {.cxx}
Function {callback(Fl_Widget* o, void*)} {open private return_type void
@@ -12,7 +12,7 @@ Function {} {open
} {
Fl_Window {} {
label {Valuator classes, showing values for type()} open
- xywh {635 288 565 505} color 43 selection_color 43
+ xywh {479 151 580 510} type Double color 43 selection_color 43
code0 {\#include <stdio.h>} visible
} {
Fl_Box {} {
@@ -34,9 +34,24 @@ Function {} {open
callback callback
xywh {105 45 20 145} type {Vert Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8 align 1
}
+ Fl_Slider {} {
+ label FL_HORIZONTAL
+ callback callback
+ xywh {140 80 130 20} type Horizontal selection_color 1 labelsize 8
+ }
+ Fl_Slider {} {
+ label FL_HOR_FILL_SLIDER
+ callback callback
+ xywh {140 120 130 20} type {Horz Fill} selection_color 1 labelsize 8
+ }
+ Fl_Slider {} {
+ label FL_HOR_NICE_SLIDER
+ callback callback
+ xywh {140 160 130 20} type {Horz Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8
+ }
Fl_Box {} {
label Fl_Value_Slider
- xywh {10 230 280 205} box ENGRAVED_BOX labelfont 1 align 17
+ xywh {10 230 280 210} box ENGRAVED_BOX labelfont 1 align 17
}
Fl_Value_Slider {} {
label 0
@@ -53,88 +68,117 @@ Function {} {open
callback callback
xywh {110 260 20 145} type {Vert Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8 align 1
}
- Fl_Slider {} {
- label FL_HORIZONTAL
+ Fl_Value_Slider {} {
+ label FL_HOR_SLIDER
callback callback
- xywh {140 80 130 20} type Horizontal selection_color 1 labelsize 8
+ xywh {140 290 130 20} type Horizontal selection_color 1 labelsize 8
}
- Fl_Slider {} {
+ Fl_Value_Slider {} {
label FL_HOR_FILL_SLIDER
callback callback
- xywh {140 120 130 20} type {Horz Fill} selection_color 1 labelsize 8
+ xywh {140 330 130 20} type {Horz Fill} selection_color 1 labelsize 8
}
- Fl_Slider {} {
+ Fl_Value_Slider {} {
label FL_HOR_NICE_SLIDER
callback callback
- xywh {140 160 130 20} type {Horz Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8
+ xywh {140 370 130 20} type {Horz Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8
}
- Fl_Value_Slider {} {
- label FL_HOR_SLIDER
+ Fl_Box {} {
+ label Fl_Value_Input
+ xywh {10 450 135 50} box ENGRAVED_BOX labelfont 1 align 17
+ }
+ Fl_Value_Input {} {
+ label 0
callback callback
- xywh {140 290 130 20} type Horizontal selection_color 1 labelsize 8
+ tooltip {Value Input} xywh {30 470 105 25} labelsize 8 maximum 100 step 0.1
}
- Fl_Value_Slider {} {
- label FL_HOR_FILL_SLIDER
+ Fl_Box {} {
+ label Fl_Value_Output
+ xywh {155 450 135 50} box ENGRAVED_BOX labelfont 1 align 17
+ }
+ Fl_Value_Output {} {
+ label 0
callback callback
- xywh {140 330 130 20} type {Horz Fill} selection_color 1 labelsize 8
+ tooltip {Value Output} xywh {170 470 105 25} labelsize 8 maximum 100 step 0.1
}
Fl_Box {} {
- label Fl_Adjuster
- xywh {430 10 125 120} box ENGRAVED_BOX labelfont 1 align 17
+ label { Fl_Scrollbar}
+ xywh {300 10 130 120} box ENGRAVED_BOX labelfont 1 align 21
}
- Fl_Value_Slider {} {
- label FL_HOR_NICE_SLIDER
+ Fl_Scrollbar {} {
+ label FL_HORIZONTAL
callback callback
- xywh {140 370 130 20} type {Horz Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8
+ tooltip {Horizontal Scrollbar} xywh {305 65 95 20} type Horizontal labelsize 8 maximum 100 value 20
+ }
+ Fl_Scrollbar {} {
+ label 0
+ callback callback
+ tooltip {Vertical Scrollbar} xywh {400 20 20 105} labelsize 8 align 1 maximum 100
+ }
+ Fl_Box {} {
+ label Fl_Adjuster
+ xywh {440 10 130 120} box ENGRAVED_BOX labelfont 1 align 17
}
Fl_Adjuster {} {
label {w()>h()}
callback callback
- tooltip {Horizontal Adjuster} xywh {440 60 75 25} labelsize 8
+ tooltip {Horizontal Adjuster} xywh {450 60 75 25} labelsize 8
}
Fl_Adjuster {} {
label {w()<h()}
callback callback
- tooltip {Vertical Adjuster} xywh {520 35 25 75} labelsize 8
+ tooltip {Vertical Adjuster} xywh {530 35 25 75} labelsize 8
}
Fl_Box {} {
label Fl_Counter
- xywh {345 135 210 115} box ENGRAVED_BOX labelfont 1 align 17
+ xywh {300 140 130 120} box ENGRAVED_BOX labelfont 1 align 17
}
Fl_Counter {} {
label 0
callback callback
- tooltip {Standard Counter} xywh {360 160 180 30} labelsize 8
+ tooltip {Standard Counter} xywh {310 175 110 25} labelsize 8
}
Fl_Counter {} {
label FL_SIMPLE_COUNTER
callback callback
- tooltip {Simple Counter} xywh {360 205 180 30} type Simple labelsize 8
+ tooltip {Simple Counter} xywh {310 215 110 25} type Simple labelsize 8
+ }
+ Fl_Box {} {
+ label Fl_Spinner
+ xywh {440 140 130 120} box ENGRAVED_BOX labelfont 1 align 17
+ }
+ Fl_Spinner {} {
+ label FL_INT_INPUT
+ xywh {465 176 80 24} labelsize 8 align 2 minimum -30 maximum 30 step 2 value 5
+ }
+ Fl_Spinner {} {
+ label FL_FLOAT_INPUT
+ xywh {465 216 80 24} type Float labelsize 8 align 2 minimum 0 maximum 1 step 0.01 value 0.05
}
Fl_Box {} {
label Fl_Dial
- xywh {300 260 255 105} box ENGRAVED_BOX labelfont 1 align 17
+ xywh {300 270 270 105} box ENGRAVED_BOX labelfont 1 align 17
}
Fl_Dial {} {
label 0
callback callback
- tooltip {Standard Dial} xywh {315 280 65 65} color 10 selection_color 1 labelsize 8 value 0.5
+ tooltip {Standard Dial} xywh {320 295 65 65} color 10 selection_color 1 labelsize 8 value 0.5
code0 {o->angles(0,315);}
}
Fl_Dial {} {
label FL_LINE_DIAL
callback callback
- tooltip {Line Dial} xywh {395 280 65 65} type Line color 10 selection_color 1 labelsize 8 value 0.5
+ tooltip {Line Dial} xywh {400 295 65 65} type Line color 10 selection_color 1 labelsize 8 value 0.5
}
Fl_Dial {} {
label FL_FILL_DIAL
callback callback
- tooltip {Fill Dial} xywh {475 280 65 65} type Fill color 10 selection_color 1 labelsize 8 value 1
+ tooltip {Fill Dial} xywh {480 295 65 65} type Fill color 10 selection_color 1 labelsize 8 value 1
code0 {o->angles(0,360);}
}
Fl_Box {} {
label Fl_Roller
- xywh {300 375 145 120} box ENGRAVED_BOX labelfont 1 align 17
+ xywh {300 385 150 115} box ENGRAVED_BOX labelfont 1 align 17
}
Fl_Roller {} {
label 0
@@ -144,43 +188,11 @@ Function {} {open
Fl_Roller {} {
label FL_HORIZONTAL
callback callback
- tooltip {Horizontal Roller} xywh {340 430 90 20} type Horizontal labelsize 8
- }
- Fl_Box {} {
- label Fl_Value_Input
- xywh {10 445 140 50} box ENGRAVED_BOX labelfont 1 align 17
+ tooltip {Horizontal Roller} xywh {345 430 90 20} type Horizontal labelsize 8
}
Fl_Box {} {
- label {Some widgets have color(FL_GREEN) and color2(FL_RED) to show the areas these effect.}
- xywh {455 375 100 120} box BORDER_FRAME color 0 selection_color 0 labelsize 10 align 128
- }
- Fl_Box {} {
- label Fl_Value_Output
- xywh {155 445 135 50} box ENGRAVED_BOX labelfont 1 align 17
- }
- Fl_Value_Input {} {
- label 0
- callback callback
- tooltip {Value Input} xywh {30 460 110 30} labelsize 8 maximum 100 step 0.1
- }
- Fl_Value_Output {} {
- label 0
- callback callback selected
- tooltip {Value Output} xywh {170 460 110 30} labelsize 8 maximum 100 step 0.1
- }
- Fl_Box {} {
- label { Fl_Scrollbar}
- xywh {295 10 130 120} box ENGRAVED_BOX labelfont 1 align 21
- }
- Fl_Scrollbar {} {
- label 0
- callback callback
- tooltip {Vertical Scrollbar} xywh {395 20 20 105} labelsize 8 align 1 maximum 100 slider_size 0.3
- }
- Fl_Scrollbar {} {
- label FL_HORIZONTAL
- callback callback
- tooltip {Horizontal Scrollbar} xywh {300 65 95 20} type Horizontal labelsize 8 maximum 100 slider_size 0.3
+ label {Some widgets have color(FL_GREEN) and color2(FL_RED) to show the areas these effect.} selected
+ xywh {460 385 110 115} box BORDER_FRAME color 0 selection_color 0 labelsize 11 align 128
}
}
}