Multiple fixes from Sebastien.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1833 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
6905f61c2c
commit
fdcdc8fd46
15
CHANGES
15
CHANGES
@ -1,6 +1,20 @@
|
|||||||
CHANGES IN FLTK 1.1.0b7
|
CHANGES IN FLTK 1.1.0b7
|
||||||
|
|
||||||
- More documentation updates...
|
- More documentation updates...
|
||||||
|
- Mac OS X support works 95%
|
||||||
|
- Fl_Button::handle() was calling take_focus() for both
|
||||||
|
FL_PUSH and FL_DRAG.
|
||||||
|
- File and memory fixes for Fl_GIF_Image, Fl_PNG_Image,
|
||||||
|
Fl_PNM_Image, Fl_Shared_Image, Fl_Tiled_Image, and
|
||||||
|
Fl_XBM_Image.
|
||||||
|
- filename_match() didn't handle backslashes properly
|
||||||
|
under WIN32, and didn't use a case-insensitive
|
||||||
|
comparison under MacOS X.
|
||||||
|
- The Fl class was missing access methods for the
|
||||||
|
FL_MOUSEWHEEL event values - Fl::event_dx() and
|
||||||
|
Fl::event_dy().
|
||||||
|
- The default help string didn't include the -nokbd
|
||||||
|
option.
|
||||||
- "make uninstall" didn't uninstall the static OpenGL
|
- "make uninstall" didn't uninstall the static OpenGL
|
||||||
widget library.
|
widget library.
|
||||||
- Mac cursor shapes added...
|
- Mac cursor shapes added...
|
||||||
@ -22,7 +36,6 @@ CHANGES IN FLTK 1.1.0b7
|
|||||||
loaded.
|
loaded.
|
||||||
- Some Win32 drivers would draw into wrong buffers
|
- Some Win32 drivers would draw into wrong buffers
|
||||||
after OpenGL mode change
|
after OpenGL mode change
|
||||||
- Mac OS X support works 95%
|
|
||||||
- The file chooser would cause a segfault if you
|
- The file chooser would cause a segfault if you
|
||||||
clicked in an empty area of the file list.
|
clicked in an empty area of the file list.
|
||||||
- Fl_File_Icon::labeltype() would cause a segfault
|
- Fl_File_Icon::labeltype() would cause a segfault
|
||||||
|
6
FL/Fl.H
6
FL/Fl.H
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl.H,v 1.8.2.11.2.7 2001/12/06 22:16:49 easysw Exp $"
|
// "$Id: Fl.H,v 1.8.2.11.2.8 2001/12/11 16:03:11 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Main header file for the Fast Light Tool Kit (FLTK).
|
// Main header file for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -128,6 +128,8 @@ public:
|
|||||||
static FL_EXPORT int event_y() {return e_y;}
|
static FL_EXPORT int event_y() {return e_y;}
|
||||||
static FL_EXPORT int event_x_root() {return e_x_root;}
|
static FL_EXPORT int event_x_root() {return e_x_root;}
|
||||||
static FL_EXPORT int event_y_root() {return e_y_root;}
|
static FL_EXPORT int event_y_root() {return e_y_root;}
|
||||||
|
static FL_EXPORT int event_dx() {return e_dx;}
|
||||||
|
static FL_EXPORT int event_dy() {return e_dy;}
|
||||||
static FL_EXPORT void get_mouse(int &,int &);
|
static FL_EXPORT void get_mouse(int &,int &);
|
||||||
static FL_EXPORT int event_clicks() {return e_clicks;}
|
static FL_EXPORT int event_clicks() {return e_clicks;}
|
||||||
static FL_EXPORT void event_clicks(int i) {e_clicks = i;}
|
static FL_EXPORT void event_clicks(int i) {e_clicks = i;}
|
||||||
@ -231,5 +233,5 @@ public:
|
|||||||
#endif // !Fl_H
|
#endif // !Fl_H
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl.H,v 1.8.2.11.2.7 2001/12/06 22:16:49 easysw Exp $".
|
// End of "$Id: Fl.H,v 1.8.2.11.2.8 2001/12/11 16:03:11 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
27
README
27
README
@ -5,10 +5,10 @@ WHAT IS FLTK?
|
|||||||
|
|
||||||
The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a
|
The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a
|
||||||
LGPL'd C++ graphical user interface toolkit for X (UNIX(r)),
|
LGPL'd C++ graphical user interface toolkit for X (UNIX(r)),
|
||||||
OpenGL(r), and Microsoft(r) Windows(r) NT 4.0, 95, or 98. It
|
OpenGL(r), MacOS(r) X, and Microsoft(r) Windows(r). It was
|
||||||
was originally developed by Mr. Bill Spitzak and is
|
originally developed by Mr. Bill Spitzak and is currently
|
||||||
currently maintained by a small group of developers across
|
maintained by a small group of developers across the world
|
||||||
the world with a central repository in the US.
|
with a central repository in the US.
|
||||||
|
|
||||||
|
|
||||||
LICENSING
|
LICENSING
|
||||||
@ -29,7 +29,7 @@ ON-LINE DOCUMENTATION
|
|||||||
http://www.fltk.org/documentation.php
|
http://www.fltk.org/documentation.php
|
||||||
|
|
||||||
|
|
||||||
BUILDING AND INSTALLING FLTK UNDER UNIX
|
BUILDING AND INSTALLING FLTK UNDER UNIX AND MacOS X
|
||||||
|
|
||||||
In most cases you can just type "make". This will run
|
In most cases you can just type "make". This will run
|
||||||
configure with the default (no) options and then compile
|
configure with the default (no) options and then compile
|
||||||
@ -78,14 +78,20 @@ BUILDING AND INSTALLING FLTK UNDER UNIX
|
|||||||
BUILDING FLTK UNDER MICROSOFT WINDOWS
|
BUILDING FLTK UNDER MICROSOFT WINDOWS
|
||||||
|
|
||||||
There are two ways to build FLTK under Microsoft Windows.
|
There are two ways to build FLTK under Microsoft Windows.
|
||||||
The first is to use the 5.0 project files under the
|
The first is to use the VC++ 6.0 project files under the
|
||||||
"visualc" directory. Just open (or double-click on) the
|
"visualc" directory. Just open (or double-click on) the
|
||||||
"fltk.dsw" file to get the whole shebang.
|
"fltk.dsw" file to get the whole shebang.
|
||||||
|
|
||||||
The second method is to use a GNU-based development tool
|
The second method is to use a GNU-based development tool
|
||||||
with the files in the "makefiles" directory. To build using
|
with the files in the "makefiles" directory. To build
|
||||||
one of these tools simply copy the appropriate makeinclude
|
with the CygWin tools, use the supplied configure script
|
||||||
and config files to the main directory and do a make:
|
as specified in the UNIX section above:
|
||||||
|
|
||||||
|
sh configure ...options...
|
||||||
|
|
||||||
|
To build using other tools simply copy the appropriate
|
||||||
|
makeinclude and config files to the main directory and do a
|
||||||
|
make:
|
||||||
|
|
||||||
copy makefiles\Makefile.<env> Makefile
|
copy makefiles\Makefile.<env> Makefile
|
||||||
make
|
make
|
||||||
@ -162,7 +168,8 @@ TRADEMARKS
|
|||||||
Microsoft and Windows are registered trademarks of Microsoft
|
Microsoft and Windows are registered trademarks of Microsoft
|
||||||
Corportation. UNIX is a registered trademark of the X/Open
|
Corportation. UNIX is a registered trademark of the X/Open
|
||||||
Group, Inc. OpenGL is a registered trademark of Silicon
|
Group, Inc. OpenGL is a registered trademark of Silicon
|
||||||
Graphics, Inc.
|
Graphics, Inc. MacOS is a registered trademark of Apple
|
||||||
|
Computers, Inc.
|
||||||
|
|
||||||
|
|
||||||
COPYRIGHT
|
COPYRIGHT
|
||||||
|
@ -22,8 +22,15 @@
|
|||||||
|
|
||||||
<H3>Description</H3>
|
<H3>Description</H3>
|
||||||
|
|
||||||
<P>The <TT>Fl_Tiled_Image</TT> class supports tiling of images over a
|
<P>The <TT>Fl_Tiled_Image</TT> class supports tiling of images
|
||||||
specified area.</P>
|
over a specified area. The source (tile) image is <B>not</B>
|
||||||
|
copied unless you call the <A
|
||||||
|
HREF="Fl_Image.html#Fl_Image.color_average"><TT>color_average()</TT></A>,
|
||||||
|
<A
|
||||||
|
HREF="Fl_Image.html#Fl_Image.desaturate"><TT>desaturate()</TT></A>,
|
||||||
|
or <A
|
||||||
|
HREF="Fl_Image.html#Fl_Image.inactive"><TT>inactive()</TT></A>
|
||||||
|
methods.</P>
|
||||||
|
|
||||||
<H3>Methods</H3>
|
<H3>Methods</H3>
|
||||||
|
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
|
|
||||||
<P>The Fast Light Tool Kit ("FLTK", pronounced
|
<P>The Fast Light Tool Kit ("FLTK", pronounced
|
||||||
"fulltick") is a LGPL'd C++ graphical user interface
|
"fulltick") is a LGPL'd C++ graphical user interface
|
||||||
toolkit for X (UNIX®), OpenGL®, and Microsoft®
|
toolkit for X (UNIX®), OpenGL®, MacOS® X, and
|
||||||
Windows®. Work is also underway to support FLTK under MacOS
|
Microsoft® Windows®. It was originally developed by Mr.
|
||||||
X. It was originally developed by Mr. Bill Spitzak and is
|
Bill Spitzak and is currently maintained by a small group of
|
||||||
currently maintained by a small group of developers across the
|
developers across the world with a central repository in the
|
||||||
world with a central repository in the US.</P>
|
US.</P>
|
||||||
|
|
||||||
<H2>History of FLTK</H2>
|
<H2>History of FLTK</H2>
|
||||||
|
|
||||||
@ -151,7 +151,7 @@ the toolkit, which was already in use by several people, Bill
|
|||||||
came up with "FLTK", including a bogus excuse that it
|
came up with "FLTK", including a bogus excuse that it
|
||||||
stands for "The Fast Light Toolkit".</P>
|
stands for "The Fast Light Toolkit".</P>
|
||||||
|
|
||||||
<H2>Building and Installing FLTK Under UNIX</H2>
|
<H2>Building and Installing FLTK Under UNIX and MacOS X</H2>
|
||||||
|
|
||||||
<P>In most cases you can just type "make". This will
|
<P>In most cases you can just type "make". This will
|
||||||
run configure with the default of no options and then compile
|
run configure with the default of no options and then compile
|
||||||
@ -294,15 +294,6 @@ copy makefiles\Makefile.os2x Makefile
|
|||||||
make
|
make
|
||||||
</PRE></UL>
|
</PRE></UL>
|
||||||
|
|
||||||
<H2>Building FLTK Under MacOS X</H2>
|
|
||||||
|
|
||||||
<P>The current version of FLTK requires the XFree86 X server for
|
|
||||||
Darwin. Follow the instructions for building FLTK under
|
|
||||||
UNIX.</P>
|
|
||||||
|
|
||||||
<P>Future versions of FLTK will provide a Carbon-based window
|
|
||||||
interface, so XFree86 will no longer be required.</P>
|
|
||||||
|
|
||||||
<H2>Internet Resources</H2>
|
<H2>Internet Resources</H2>
|
||||||
|
|
||||||
<P>FLTK is available on the 'net in a bunch of locations:</P>
|
<P>FLTK is available on the 'net in a bunch of locations:</P>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_Button.cxx,v 1.4.2.6.2.5 2001/11/03 19:24:22 easysw Exp $"
|
// "$Id: Fl_Button.cxx,v 1.4.2.6.2.6 2001/12/11 16:03:11 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Button widget for the Fast Light Tool Kit (FLTK).
|
// Button widget for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -65,8 +65,8 @@ int Fl_Button::handle(int event) {
|
|||||||
// if ((value_?selection_color():color())==FL_GRAY) redraw();
|
// if ((value_?selection_color():color())==FL_GRAY) redraw();
|
||||||
return 1;
|
return 1;
|
||||||
case FL_PUSH:
|
case FL_PUSH:
|
||||||
case FL_DRAG:
|
|
||||||
if (Fl::visible_focus()) take_focus();
|
if (Fl::visible_focus()) take_focus();
|
||||||
|
case FL_DRAG:
|
||||||
if (Fl::event_inside(this)) {
|
if (Fl::event_inside(this)) {
|
||||||
if (type() == FL_RADIO_BUTTON) newval = 1;
|
if (type() == FL_RADIO_BUTTON) newval = 1;
|
||||||
else newval = !oldval;
|
else newval = !oldval;
|
||||||
@ -138,5 +138,5 @@ Fl_Button::Fl_Button(int x,int y,int w,int h, const char *l)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_Button.cxx,v 1.4.2.6.2.5 2001/11/03 19:24:22 easysw Exp $".
|
// End of "$Id: Fl_Button.cxx,v 1.4.2.6.2.6 2001/12/11 16:03:11 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_Chart.cxx,v 1.5.2.6.2.2 2001/11/22 15:35:01 easysw Exp $"
|
// "$Id: Fl_Chart.cxx,v 1.5.2.6.2.3 2001/12/11 16:03:12 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Forms-compatible chart widget for the Fast Light Tool Kit (FLTK).
|
// Forms-compatible chart widget for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -312,7 +312,7 @@ void Fl_Chart::add(double val, const char *str, unsigned col) {
|
|||||||
entries[numb].val = float(val);
|
entries[numb].val = float(val);
|
||||||
entries[numb].col = col;
|
entries[numb].col = col;
|
||||||
if (str) {
|
if (str) {
|
||||||
strncpy(entries[numb].str,str,FL_CHART_LABEL_MAX+1);
|
strncpy(entries[numb].str,str,FL_CHART_LABEL_MAX);
|
||||||
entries[numb].str[FL_CHART_LABEL_MAX] = 0;
|
entries[numb].str[FL_CHART_LABEL_MAX] = 0;
|
||||||
} else {
|
} else {
|
||||||
entries[numb].str[0] = 0;
|
entries[numb].str[0] = 0;
|
||||||
@ -336,7 +336,7 @@ void Fl_Chart::insert(int index, double val, const char *str, unsigned col) {
|
|||||||
entries[index-1].val = float(val);
|
entries[index-1].val = float(val);
|
||||||
entries[index-1].col = col;
|
entries[index-1].col = col;
|
||||||
if (str) {
|
if (str) {
|
||||||
strncpy(entries[index-1].str,str,FL_CHART_LABEL_MAX+1);
|
strncpy(entries[index-1].str,str,FL_CHART_LABEL_MAX);
|
||||||
entries[index-1].str[FL_CHART_LABEL_MAX] = 0;
|
entries[index-1].str[FL_CHART_LABEL_MAX] = 0;
|
||||||
} else {
|
} else {
|
||||||
entries[index-1].str[0] = 0;
|
entries[index-1].str[0] = 0;
|
||||||
@ -349,7 +349,7 @@ void Fl_Chart::replace(int index,double val, const char *str, unsigned col) {
|
|||||||
entries[index-1].val = float(val);
|
entries[index-1].val = float(val);
|
||||||
entries[index-1].col = col;
|
entries[index-1].col = col;
|
||||||
if (str) {
|
if (str) {
|
||||||
strncpy(entries[index-1].str,str,FL_CHART_LABEL_MAX+1);
|
strncpy(entries[index-1].str,str,FL_CHART_LABEL_MAX);
|
||||||
entries[index-1].str[FL_CHART_LABEL_MAX] = 0;
|
entries[index-1].str[FL_CHART_LABEL_MAX] = 0;
|
||||||
} else {
|
} else {
|
||||||
entries[index-1].str[0] = 0;
|
entries[index-1].str[0] = 0;
|
||||||
@ -378,5 +378,5 @@ void Fl_Chart::maxsize(int m) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_Chart.cxx,v 1.5.2.6.2.2 2001/11/22 15:35:01 easysw Exp $".
|
// End of "$Id: Fl_Chart.cxx,v 1.5.2.6.2.3 2001/12/11 16:03:12 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -53,10 +53,10 @@ void Fl_File_Chooser::cb_upButton(Fl_Button* o, void* v) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#include <FL/Fl_Bitmap.H>
|
#include <FL/Fl_Bitmap.H>
|
||||||
static unsigned char bits_up[] =
|
static unsigned char idata_up[] =
|
||||||
"\0\0x\0\204\0\2\1""1\376y\200\375\200""1\200""1\200""1\200""1\200""1\200\1\
|
"\0\0x\0\204\0\2\1""1\376y\200\375\200""1\200""1\200""1\200""1\200""1\200\1\
|
||||||
\200\1\200\377\377\0\0";
|
\200\1\200\377\377\0\0";
|
||||||
static Fl_Bitmap bitmap_up(bits_up, 16, 16);
|
static Fl_Bitmap image_up(idata_up, 16, 16);
|
||||||
|
|
||||||
inline void Fl_File_Chooser::cb_newButton_i(Fl_Button*, void*) {
|
inline void Fl_File_Chooser::cb_newButton_i(Fl_Button*, void*) {
|
||||||
newdir();
|
newdir();
|
||||||
@ -65,10 +65,10 @@ void Fl_File_Chooser::cb_newButton(Fl_Button* o, void* v) {
|
|||||||
((Fl_File_Chooser*)(o->parent()->user_data()))->cb_newButton_i(o,v);
|
((Fl_File_Chooser*)(o->parent()->user_data()))->cb_newButton_i(o,v);
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned char bits_new[] =
|
static unsigned char idata_new[] =
|
||||||
"\0\0x\0\204\0\2\1\1\376\1\200""1\200""1\200\375\200\375\200""1\200""1\200\1\
|
"\0\0x\0\204\0\2\1\1\376\1\200""1\200""1\200\375\200\375\200""1\200""1\200\1\
|
||||||
\200\1\200\377\377\0\0";
|
\200\1\200\377\377\0\0";
|
||||||
static Fl_Bitmap bitmap_new(bits_new, 16, 16);
|
static Fl_Bitmap image_new(idata_new, 16, 16);
|
||||||
|
|
||||||
inline void Fl_File_Chooser::cb_dirMenu_i(Fl_Choice*, void*) {
|
inline void Fl_File_Chooser::cb_dirMenu_i(Fl_Choice*, void*) {
|
||||||
char pathname[1024];
|
char pathname[1024];
|
||||||
@ -96,9 +96,9 @@ void Fl_File_Chooser::cb_(Fl_Button* o, void* v) {
|
|||||||
((Fl_File_Chooser*)(o->parent()->user_data()))->cb__i(o,v);
|
((Fl_File_Chooser*)(o->parent()->user_data()))->cb__i(o,v);
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned char bits_allfiles[] =
|
static unsigned char idata_allfiles[] =
|
||||||
"\374?\4 \4 \4 \204!\244%\304#\364/\364/\304#\244%\204!\4 \4 \4 \374?";
|
"\374?\4 \4 \4 \204!\244%\304#\364/\364/\304#\244%\204!\4 \4 \4 \374?";
|
||||||
static Fl_Bitmap bitmap_allfiles(bits_allfiles, 16, 16);
|
static Fl_Bitmap image_allfiles(idata_allfiles, 16, 16);
|
||||||
|
|
||||||
Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char *title) {
|
Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char *title) {
|
||||||
Fl_Window* w;
|
Fl_Window* w;
|
||||||
@ -127,13 +127,13 @@ Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char
|
|||||||
}
|
}
|
||||||
{ Fl_Button* o = upButton = new Fl_Button(280, 10, 25, 25);
|
{ Fl_Button* o = upButton = new Fl_Button(280, 10, 25, 25);
|
||||||
o->tooltip("Show the parent directory.");
|
o->tooltip("Show the parent directory.");
|
||||||
o->image(bitmap_up);
|
o->image(image_up);
|
||||||
o->labelsize(8);
|
o->labelsize(8);
|
||||||
o->callback((Fl_Callback*)cb_upButton);
|
o->callback((Fl_Callback*)cb_upButton);
|
||||||
}
|
}
|
||||||
{ Fl_Button* o = newButton = new Fl_Button(310, 10, 25, 25);
|
{ Fl_Button* o = newButton = new Fl_Button(310, 10, 25, 25);
|
||||||
o->tooltip("Create a new directory.");
|
o->tooltip("Create a new directory.");
|
||||||
o->image(bitmap_new);
|
o->image(image_new);
|
||||||
o->labelsize(8);
|
o->labelsize(8);
|
||||||
o->callback((Fl_Callback*)cb_newButton);
|
o->callback((Fl_Callback*)cb_newButton);
|
||||||
}
|
}
|
||||||
@ -144,7 +144,7 @@ Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char
|
|||||||
}
|
}
|
||||||
{ Fl_Button* o = new Fl_Button(340, 10, 25, 25);
|
{ Fl_Button* o = new Fl_Button(340, 10, 25, 25);
|
||||||
o->tooltip("Change the filename filter.");
|
o->tooltip("Change the filename filter.");
|
||||||
o->image(bitmap_allfiles);
|
o->image(image_allfiles);
|
||||||
o->labelsize(28);
|
o->labelsize(28);
|
||||||
o->labelcolor(4);
|
o->labelcolor(4);
|
||||||
o->callback((Fl_Callback*)cb_);
|
o->callback((Fl_Callback*)cb_);
|
||||||
@ -154,7 +154,7 @@ Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char
|
|||||||
o->set_modal();
|
o->set_modal();
|
||||||
o->end();
|
o->end();
|
||||||
}
|
}
|
||||||
window->size_range(345, 270, 345);
|
window->size_range(375, 315, 375);
|
||||||
fileList->filter(p);
|
fileList->filter(p);
|
||||||
type(t);
|
type(t);
|
||||||
value(d);
|
value(d);
|
||||||
|
@ -84,12 +84,13 @@ if ((f = fl_input("New Filter?",
|
|||||||
code0 {\#include <FL/fl_ask.H>}
|
code0 {\#include <FL/fl_ask.H>}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
code {window->size_range(345, 270, 345);
|
code {window->size_range(375, 315, 375);
|
||||||
fileList->filter(p);
|
fileList->filter(p);
|
||||||
type(t);
|
type(t);
|
||||||
value(d);
|
value(d);
|
||||||
callback_ = 0;
|
callback_ = 0;
|
||||||
data_ = 0;} {}
|
data_ = 0;} {selected
|
||||||
|
}
|
||||||
}
|
}
|
||||||
decl {void (*callback_)(Fl_File_Chooser*, void *);} {}
|
decl {void (*callback_)(Fl_File_Chooser*, void *);} {}
|
||||||
decl {void *data_;} {}
|
decl {void *data_;} {}
|
||||||
@ -215,5 +216,5 @@ decl {FL_EXPORT char *fl_dir_chooser(const char *message,const char *fname);} {p
|
|||||||
decl {FL_EXPORT char *fl_file_chooser(const char *message,const char *pat,const char *fname);} {public
|
decl {FL_EXPORT char *fl_file_chooser(const char *message,const char *pat,const char *fname);} {public
|
||||||
}
|
}
|
||||||
|
|
||||||
decl {FL_EXPORT void fl_file_chooser_callback(void (*cb)(const char*));} {selected public
|
decl {FL_EXPORT void fl_file_chooser_callback(void (*cb)(const char*));} {public
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_GIF_Image.cxx,v 1.1.2.5 2001/11/24 18:07:57 easysw Exp $"
|
// "$Id: Fl_GIF_Image.cxx,v 1.1.2.6 2001/12/11 16:03:12 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Fl_GIF_Image routines.
|
// Fl_GIF_Image routines.
|
||||||
//
|
//
|
||||||
@ -87,9 +87,15 @@ Fl_GIF_Image::Fl_GIF_Image(const char *infname) : Fl_Pixmap((char *const*)0) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
{char b[6];
|
{char b[6];
|
||||||
if (fread(b,1,6,GifFile)<6) return; /* quit on eof */
|
if (fread(b,1,6,GifFile)<6) {
|
||||||
|
fclose(GifFile);
|
||||||
|
return; /* quit on eof */
|
||||||
|
}
|
||||||
if (b[0]!='G' || b[1]!='I' || b[2] != 'F') {
|
if (b[0]!='G' || b[1]!='I' || b[2] != 'F') {
|
||||||
Fl::error("%s is not a GIF file.\n", infname); return;}
|
Fl::error("%s is not a GIF file.\n", infname);
|
||||||
|
fclose(GifFile);
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (b[3]!='8' || b[4]>'9' || b[5]!= 'a')
|
if (b[3]!='8' || b[4]>'9' || b[5]!= 'a')
|
||||||
Fl::warning("%s is version %c%c%c.",infname,b[3],b[4],b[5]);
|
Fl::warning("%s is version %c%c%c.",infname,b[3],b[4],b[5]);
|
||||||
}
|
}
|
||||||
@ -128,7 +134,11 @@ Fl_GIF_Image::Fl_GIF_Image(const char *infname) : Fl_Pixmap((char *const*)0) {
|
|||||||
for (;;) {
|
for (;;) {
|
||||||
|
|
||||||
int i = NEXTBYTE;
|
int i = NEXTBYTE;
|
||||||
if (i<0) {Fl::error("%s: unexpected EOF",infname); return;}
|
if (i<0) {
|
||||||
|
Fl::error("%s: unexpected EOF",infname);
|
||||||
|
fclose(GifFile);
|
||||||
|
return;
|
||||||
|
}
|
||||||
int blocklen;
|
int blocklen;
|
||||||
|
|
||||||
// if (i == 0x3B) return 0; eof code
|
// if (i == 0x3B) return 0; eof code
|
||||||
@ -185,6 +195,7 @@ Fl_GIF_Image::Fl_GIF_Image(const char *infname) : Fl_Pixmap((char *const*)0) {
|
|||||||
uchar *Image = new uchar[Width*Height];
|
uchar *Image = new uchar[Width*Height];
|
||||||
if (!Image) {
|
if (!Image) {
|
||||||
Fl::fatal("Insufficient memory for %s.", infname);
|
Fl::fatal("Insufficient memory for %s.", infname);
|
||||||
|
fclose(GifFile);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -361,9 +372,11 @@ Fl_GIF_Image::Fl_GIF_Image(const char *infname) : Fl_Pixmap((char *const*)0) {
|
|||||||
alloc_data = 1;
|
alloc_data = 1;
|
||||||
|
|
||||||
delete[] Image;
|
delete[] Image;
|
||||||
|
|
||||||
|
fclose(GifFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_GIF_Image.cxx,v 1.1.2.5 2001/11/24 18:07:57 easysw Exp $".
|
// End of "$Id: Fl_GIF_Image.cxx,v 1.1.2.6 2001/12/11 16:03:12 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_Gl_Window.cxx,v 1.12.2.22.2.3 2001/12/06 00:17:47 matthiaswm Exp $"
|
// "$Id: Fl_Gl_Window.cxx,v 1.12.2.22.2.4 2001/12/11 16:03:12 easysw Exp $"
|
||||||
//
|
//
|
||||||
// OpenGL window code for the Fast Light Tool Kit (FLTK).
|
// OpenGL window code for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -339,11 +339,14 @@ Fl_Gl_Window::~Fl_Gl_Window() {
|
|||||||
void Fl_Gl_Window::init() {
|
void Fl_Gl_Window::init() {
|
||||||
end(); // we probably don't want any children
|
end(); // we probably don't want any children
|
||||||
box(FL_NO_BOX);
|
box(FL_NO_BOX);
|
||||||
mode_ = FL_RGB | FL_DEPTH | FL_DOUBLE;
|
|
||||||
alist = 0;
|
mode_ = FL_RGB | FL_DEPTH | FL_DOUBLE;
|
||||||
|
alist = 0;
|
||||||
context_ = 0;
|
context_ = 0;
|
||||||
g = 0;
|
g = 0;
|
||||||
overlay = 0;
|
overlay = 0;
|
||||||
|
valid_ = 0;
|
||||||
|
damage1_ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Fl_Gl_Window::draw_overlay() {}
|
void Fl_Gl_Window::draw_overlay() {}
|
||||||
@ -351,5 +354,5 @@ void Fl_Gl_Window::draw_overlay() {}
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_Gl_Window.cxx,v 1.12.2.22.2.3 2001/12/06 00:17:47 matthiaswm Exp $".
|
// End of "$Id: Fl_Gl_Window.cxx,v 1.12.2.22.2.4 2001/12/11 16:03:12 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_Help_View.cxx,v 1.1.2.17 2001/11/30 16:10:08 easysw Exp $"
|
// "$Id: Fl_Help_View.cxx,v 1.1.2.18 2001/12/11 16:03:12 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Fl_Help_View widget routines.
|
// Fl_Help_View widget routines.
|
||||||
//
|
//
|
||||||
@ -162,13 +162,13 @@ Fl_Help_View::add_link(const char *n, // I - Name of link
|
|||||||
temp->w = xx + ww;
|
temp->w = xx + ww;
|
||||||
temp->h = yy + hh;
|
temp->h = yy + hh;
|
||||||
|
|
||||||
strncpy(temp->filename, n, sizeof(temp->filename));
|
strncpy(temp->filename, n, sizeof(temp->filename) - 1);
|
||||||
temp->filename[sizeof(temp->filename) - 1] = '\0';
|
temp->filename[sizeof(temp->filename) - 1] = '\0';
|
||||||
|
|
||||||
if ((target = strrchr(temp->filename, '#')) != NULL)
|
if ((target = strrchr(temp->filename, '#')) != NULL)
|
||||||
{
|
{
|
||||||
*target++ = '\0';
|
*target++ = '\0';
|
||||||
strncpy(temp->name, target, sizeof(temp->name));
|
strncpy(temp->name, target, sizeof(temp->name) - 1);
|
||||||
temp->name[sizeof(temp->name) - 1] = '\0';
|
temp->name[sizeof(temp->name) - 1] = '\0';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -202,7 +202,7 @@ Fl_Help_View::add_target(const char *n, // I - Name of target
|
|||||||
temp = targets_ + ntargets_;
|
temp = targets_ + ntargets_;
|
||||||
|
|
||||||
temp->y = yy;
|
temp->y = yy;
|
||||||
strncpy(temp->name, n, sizeof(temp->name));
|
strncpy(temp->name, n, sizeof(temp->name) - 1);
|
||||||
temp->name[sizeof(temp->name) - 1] = '\0';
|
temp->name[sizeof(temp->name) - 1] = '\0';
|
||||||
|
|
||||||
ntargets_ ++;
|
ntargets_ ++;
|
||||||
@ -2042,6 +2042,9 @@ Fl_Help_View::handle(int event) // I - Event to handle
|
|||||||
yy = Fl::event_y() - y() + topline_;
|
yy = Fl::event_y() - y() + topline_;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case FL_LEAVE :
|
||||||
|
fl_cursor(FL_CURSOR_DEFAULT);
|
||||||
|
|
||||||
default :
|
default :
|
||||||
return (Fl_Group::handle(event));
|
return (Fl_Group::handle(event));
|
||||||
}
|
}
|
||||||
@ -2549,5 +2552,5 @@ hscrollbar_callback(Fl_Widget *s, void *)
|
|||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_Help_View.cxx,v 1.1.2.17 2001/11/30 16:10:08 easysw Exp $".
|
// End of "$Id: Fl_Help_View.cxx,v 1.1.2.18 2001/12/11 16:03:12 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_PNG_Image.cxx,v 1.1.2.2 2001/11/23 12:06:36 easysw Exp $"
|
// "$Id: Fl_PNG_Image.cxx,v 1.1.2.3 2001/12/11 16:03:12 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Fl_PNG_Image routines.
|
// Fl_PNG_Image routines.
|
||||||
//
|
//
|
||||||
@ -25,6 +25,7 @@
|
|||||||
//
|
//
|
||||||
// Contents:
|
// Contents:
|
||||||
//
|
//
|
||||||
|
// Fl_PNG_Image::Fl_PNG_Image() - Load a PNG image file.
|
||||||
//
|
//
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -115,7 +116,7 @@ Fl_PNG_Image::Fl_PNG_Image(const char *png) // I - File to read
|
|||||||
png_read_rows(pp, rows, NULL, h());
|
png_read_rows(pp, rows, NULL, h());
|
||||||
|
|
||||||
// Free memory and return...
|
// Free memory and return...
|
||||||
delete rows;
|
delete[] rows;
|
||||||
|
|
||||||
png_read_end(pp, info);
|
png_read_end(pp, info);
|
||||||
# ifdef HAVE_PNG_READ_DESTROY
|
# ifdef HAVE_PNG_READ_DESTROY
|
||||||
@ -130,5 +131,5 @@ Fl_PNG_Image::Fl_PNG_Image(const char *png) // I - File to read
|
|||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_PNG_Image.cxx,v 1.1.2.2 2001/11/23 12:06:36 easysw Exp $".
|
// End of "$Id: Fl_PNG_Image.cxx,v 1.1.2.3 2001/12/11 16:03:12 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_PNM_Image.cxx,v 1.1.2.2 2001/11/28 18:09:08 easysw Exp $"
|
// "$Id: Fl_PNM_Image.cxx,v 1.1.2.3 2001/12/11 16:03:12 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Fl_PNM_Image routines.
|
// Fl_PNM_Image routines.
|
||||||
//
|
//
|
||||||
@ -24,6 +24,7 @@
|
|||||||
//
|
//
|
||||||
// Contents:
|
// Contents:
|
||||||
//
|
//
|
||||||
|
// Fl_PNM_Image::Fl_PNM_Image() - Load a PNM image...
|
||||||
//
|
//
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -73,6 +74,12 @@ Fl_PNM_Image::Fl_PNM_Image(const char *name) // I - File to read
|
|||||||
//
|
//
|
||||||
|
|
||||||
lineptr = fgets(line, sizeof(line), fp);
|
lineptr = fgets(line, sizeof(line), fp);
|
||||||
|
if (!lineptr) {
|
||||||
|
Fl::error("Early end-of-file in PNM file \"%s\"!", name);
|
||||||
|
fclose(fp);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
lineptr ++;
|
lineptr ++;
|
||||||
|
|
||||||
format = atoi(lineptr);
|
format = atoi(lineptr);
|
||||||
@ -159,5 +166,5 @@ Fl_PNM_Image::Fl_PNM_Image(const char *name) // I - File to read
|
|||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_PNM_Image.cxx,v 1.1.2.2 2001/11/28 18:09:08 easysw Exp $".
|
// End of "$Id: Fl_PNM_Image.cxx,v 1.1.2.3 2001/12/11 16:03:12 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_Shared_Image.cxx,v 1.23.2.3 2001/11/29 00:24:43 easysw Exp $"
|
// "$Id: Fl_Shared_Image.cxx,v 1.23.2.4 2001/12/11 16:03:12 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Shared image code for the Fast Light Tool Kit (FLTK).
|
// Shared image code for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -118,7 +118,7 @@ Fl_Shared_Image::add() {
|
|||||||
temp = new Fl_Shared_Image *[alloc_images_ + 32];
|
temp = new Fl_Shared_Image *[alloc_images_ + 32];
|
||||||
|
|
||||||
if (alloc_images_) {
|
if (alloc_images_) {
|
||||||
memcpy(images_, temp, sizeof(Fl_Shared_Image *));
|
memcpy(temp, images_, alloc_images_ * sizeof(Fl_Shared_Image *));
|
||||||
|
|
||||||
delete[] images_;
|
delete[] images_;
|
||||||
}
|
}
|
||||||
@ -376,5 +376,5 @@ Fl_Shared_Image::get(const char *n, int W, int H) {
|
|||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_Shared_Image.cxx,v 1.23.2.3 2001/11/29 00:24:43 easysw Exp $".
|
// End of "$Id: Fl_Shared_Image.cxx,v 1.23.2.4 2001/12/11 16:03:12 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_Tiled_Image.cxx,v 1.1.2.2 2001/12/06 18:12:35 easysw Exp $"
|
// "$Id: Fl_Tiled_Image.cxx,v 1.1.2.3 2001/12/11 16:03:12 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Tiled image code for the Fast Light Tool Kit (FLTK).
|
// Tiled image code for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -74,12 +74,15 @@ Fl_Tiled_Image::copy(int W, // I - New width
|
|||||||
void
|
void
|
||||||
Fl_Tiled_Image::color_average(Fl_Color c, // I - Color to blend with
|
Fl_Tiled_Image::color_average(Fl_Color c, // I - Color to blend with
|
||||||
float i) { // I - Blend fraction
|
float i) { // I - Blend fraction
|
||||||
Fl_Image *temp = image_->copy();
|
if (alloc_image_) image_->color_average(c, i);
|
||||||
|
else {
|
||||||
|
Fl_Image *temp = image_->copy();
|
||||||
|
|
||||||
temp->color_average(c, i);
|
temp->color_average(c, i);
|
||||||
|
|
||||||
image_ = temp;
|
image_ = temp;
|
||||||
alloc_image_ = 1;
|
alloc_image_ = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -89,12 +92,15 @@ Fl_Tiled_Image::color_average(Fl_Color c, // I - Color to blend with
|
|||||||
|
|
||||||
void
|
void
|
||||||
Fl_Tiled_Image::desaturate() {
|
Fl_Tiled_Image::desaturate() {
|
||||||
Fl_Image *temp = image_->copy();
|
if (alloc_image_) image_->desaturate();
|
||||||
|
else {
|
||||||
|
Fl_Image *temp = image_->copy();
|
||||||
|
|
||||||
temp->desaturate();
|
temp->desaturate();
|
||||||
|
|
||||||
image_ = temp;
|
image_ = temp;
|
||||||
alloc_image_ = 1;
|
alloc_image_ = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -133,5 +139,5 @@ Fl_Tiled_Image::draw(int X, // I - Starting X position
|
|||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_Tiled_Image.cxx,v 1.1.2.2 2001/12/06 18:12:35 easysw Exp $".
|
// End of "$Id: Fl_Tiled_Image.cxx,v 1.1.2.3 2001/12/11 16:03:12 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_XBM_Image.cxx,v 1.1.2.1 2001/11/24 18:07:57 easysw Exp $"
|
// "$Id: Fl_XBM_Image.cxx,v 1.1.2.2 2001/12/11 16:03:12 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Fl_XBM_Image routines.
|
// Fl_XBM_Image routines.
|
||||||
//
|
//
|
||||||
@ -24,6 +24,7 @@
|
|||||||
//
|
//
|
||||||
// Contents:
|
// Contents:
|
||||||
//
|
//
|
||||||
|
// Fl_XBM_Image::Fl_XBM_Image() - Load an XBM file.
|
||||||
//
|
//
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -37,6 +38,10 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
//
|
||||||
|
// 'Fl_XBM_Image::Fl_XBM_Image()' - Load an XBM file.
|
||||||
|
//
|
||||||
|
|
||||||
Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) {
|
Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) {
|
||||||
FILE *f;
|
FILE *f;
|
||||||
uchar *data;
|
uchar *data;
|
||||||
@ -49,7 +54,10 @@ Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) {
|
|||||||
int i;
|
int i;
|
||||||
for (i = 0; i<2; i++) {
|
for (i = 0; i<2; i++) {
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (!fgets(buffer,1024,f)) return;
|
if (!fgets(buffer,1024,f)) {
|
||||||
|
fclose(f);
|
||||||
|
return;
|
||||||
|
}
|
||||||
int r = sscanf(buffer,"#define %s %d",junk,&wh[i]);
|
int r = sscanf(buffer,"#define %s %d",junk,&wh[i]);
|
||||||
if (r >= 2) break;
|
if (r >= 2) break;
|
||||||
}
|
}
|
||||||
@ -57,7 +65,10 @@ Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) {
|
|||||||
|
|
||||||
// skip to data array:
|
// skip to data array:
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (!fgets(buffer,1024,f)) return;
|
if (!fgets(buffer,1024,f)) {
|
||||||
|
fclose(f);
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (!strncmp(buffer,"static ",7)) break;
|
if (!strncmp(buffer,"static ",7)) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,7 +81,10 @@ Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) {
|
|||||||
|
|
||||||
// read the data:
|
// read the data:
|
||||||
for (i = 0, data = (uchar *)array; i < n;) {
|
for (i = 0, data = (uchar *)array; i < n;) {
|
||||||
if (!fgets(buffer,1024,f)) return;
|
if (!fgets(buffer,1024,f)) {
|
||||||
|
fclose(f);
|
||||||
|
return;
|
||||||
|
}
|
||||||
const char *a = buffer;
|
const char *a = buffer;
|
||||||
while (*a && i<n) {
|
while (*a && i<n) {
|
||||||
int t;
|
int t;
|
||||||
@ -84,5 +98,5 @@ Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) {
|
|||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_XBM_Image.cxx,v 1.1.2.1 2001/11/24 18:07:57 easysw Exp $".
|
// End of "$Id: Fl_XBM_Image.cxx,v 1.1.2.2 2001/12/11 16:03:12 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_arg.cxx,v 1.5.2.8.2.3 2001/11/27 17:44:06 easysw Exp $"
|
// "$Id: Fl_arg.cxx,v 1.5.2.8.2.4 2001/12/11 16:03:12 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Optional argument initialization code for the Fast Light Tool Kit (FLTK).
|
// Optional argument initialization code for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -211,7 +211,8 @@ static const char * const helpmsg =
|
|||||||
" -i[conic]\n"
|
" -i[conic]\n"
|
||||||
" -fg color\n"
|
" -fg color\n"
|
||||||
" -bg color\n"
|
" -bg color\n"
|
||||||
" -bg2 color";
|
" -bg2 color\n"
|
||||||
|
" -nokbd";
|
||||||
|
|
||||||
const char * const Fl::help = helpmsg+13;
|
const char * const Fl::help = helpmsg+13;
|
||||||
|
|
||||||
@ -358,5 +359,5 @@ int XParseGeometry(const char* string, int* x, int* y,
|
|||||||
#endif // ifdef WIN32
|
#endif // ifdef WIN32
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_arg.cxx,v 1.5.2.8.2.3 2001/11/27 17:44:06 easysw Exp $".
|
// End of "$Id: Fl_arg.cxx,v 1.5.2.8.2.4 2001/12/11 16:03:12 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: filename_absolute.cxx,v 1.5.2.4.2.2 2001/11/26 19:41:57 easysw Exp $"
|
// "$Id: filename_absolute.cxx,v 1.5.2.4.2.3 2001/12/11 16:03:12 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Filename expansion routines for the Fast Light Tool Kit (FLTK).
|
// Filename expansion routines for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -110,13 +110,12 @@ int filename_absolute(char *to, int tolen, const char *from) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
int // O - 0 if no change, 1 if changed
|
int // O - 0 if no change, 1 if changed
|
||||||
filename_relative(char *to, // O - Relative filename
|
filename_relative(char *to, // O - Relative filename
|
||||||
int tolen, // I - Size of "to" buffer
|
int tolen, // I - Size of "to" buffer
|
||||||
const char *from) { // I - Absolute filename
|
const char *from) { // I - Absolute filename
|
||||||
const char *newslash; // Directory separator
|
const char *newslash; // Directory separator
|
||||||
char *slash; // Directory separator
|
const char *slash; // Directory separator
|
||||||
char cwd[1024]; // Current directory
|
char cwd[1024]; // Current directory
|
||||||
char *temp = new char[tolen];// Temporary pathname
|
|
||||||
|
|
||||||
|
|
||||||
if (from[0] == '\0' || !isdirsep(*from)) {
|
if (from[0] == '\0' || !isdirsep(*from)) {
|
||||||
@ -131,16 +130,13 @@ filename_relative(char *to, // O - Relative filename
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
strncpy(temp, from, tolen - 1);
|
for (slash = from, newslash = cwd;
|
||||||
temp[tolen - 1] = '\0';
|
|
||||||
|
|
||||||
for (slash = temp, newslash = cwd;
|
|
||||||
*slash != '\0' && *newslash != '\0';
|
*slash != '\0' && *newslash != '\0';
|
||||||
slash ++, newslash ++)
|
slash ++, newslash ++)
|
||||||
if (isdirsep(*slash) && isdirsep(*newslash)) continue;
|
if (isdirsep(*slash) && isdirsep(*newslash)) continue;
|
||||||
else if (*slash != *newslash) break;
|
else if (*slash != *newslash) break;
|
||||||
|
|
||||||
while (!isdirsep(*slash) && slash > temp) slash --;
|
while (!isdirsep(*slash) && slash > from) slash --;
|
||||||
|
|
||||||
if (isdirsep(*slash)) slash ++;
|
if (isdirsep(*slash)) slash ++;
|
||||||
|
|
||||||
@ -158,10 +154,8 @@ filename_relative(char *to, // O - Relative filename
|
|||||||
to[0] = '\0';
|
to[0] = '\0';
|
||||||
to[tolen - 1] = '\0';
|
to[tolen - 1] = '\0';
|
||||||
|
|
||||||
while (*newslash != '\0')
|
while (*newslash != '\0') {
|
||||||
{
|
if (isdirsep(*newslash)) strncat(to, "../", tolen - 1);
|
||||||
if (*newslash == '/' || *newslash == '\\')
|
|
||||||
strncat(to, "../", tolen - 1);
|
|
||||||
|
|
||||||
newslash ++;
|
newslash ++;
|
||||||
}
|
}
|
||||||
@ -173,5 +167,5 @@ filename_relative(char *to, // O - Relative filename
|
|||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: filename_absolute.cxx,v 1.5.2.4.2.2 2001/11/26 19:41:57 easysw Exp $".
|
// End of "$Id: filename_absolute.cxx,v 1.5.2.4.2.3 2001/12/11 16:03:12 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: filename_expand.cxx,v 1.4.2.4.2.1 2001/11/26 00:15:06 easysw Exp $"
|
// "$Id: filename_expand.cxx,v 1.4.2.4.2.2 2001/12/11 16:03:13 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Filename expansion routines for the Fast Light Tool Kit (FLTK).
|
// Filename expansion routines for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -46,7 +46,7 @@ static inline int isdirsep(char c) {return c=='/' || c=='\\';}
|
|||||||
int filename_expand(char *to,int tolen, const char *from) {
|
int filename_expand(char *to,int tolen, const char *from) {
|
||||||
|
|
||||||
char *temp = new char[tolen];
|
char *temp = new char[tolen];
|
||||||
strncpy(temp,from, tolen);
|
strncpy(temp,from, tolen - 1);
|
||||||
temp[tolen - 1] = '\0';
|
temp[tolen - 1] = '\0';
|
||||||
char *start = temp;
|
char *start = temp;
|
||||||
char *end = temp+strlen(temp);
|
char *end = temp+strlen(temp);
|
||||||
@ -106,5 +106,5 @@ int filename_expand(char *to,int tolen, const char *from) {
|
|||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: filename_expand.cxx,v 1.4.2.4.2.1 2001/11/26 00:15:06 easysw Exp $".
|
// End of "$Id: filename_expand.cxx,v 1.4.2.4.2.2 2001/12/11 16:03:13 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: filename_match.cxx,v 1.5.2.4 2001/01/22 15:13:40 easysw Exp $"
|
// "$Id: filename_match.cxx,v 1.5.2.4.2.1 2001/12/11 16:03:13 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Pattern matching routines for the Fast Light Tool Kit (FLTK).
|
// Pattern matching routines for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -89,25 +89,20 @@ int filename_match(const char *s, const char *p) {
|
|||||||
case 0: // end of pattern
|
case 0: // end of pattern
|
||||||
return !*s;
|
return !*s;
|
||||||
|
|
||||||
#if defined(WIN32) && !defined(__CYGWIN__)
|
|
||||||
case '\\': // quote next character
|
case '\\': // quote next character
|
||||||
if (*p) p++;
|
if (*p) p++;
|
||||||
if (*s++ != *(p-1)) return 0;
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
|
#if defined(WIN32) || defined(__CYGWIN__) || defined(__APPLE__)
|
||||||
if (tolower(*s) != tolower(*(p-1))) return 0;
|
if (tolower(*s) != tolower(*(p-1))) return 0;
|
||||||
s++;
|
s++;
|
||||||
#else
|
#else
|
||||||
case '\\': // quote next character
|
|
||||||
if (*p) p++;
|
|
||||||
default :
|
|
||||||
if (*s++ != *(p-1)) return 0;
|
if (*s++ != *(p-1)) return 0;
|
||||||
break;
|
|
||||||
#endif
|
#endif
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: filename_match.cxx,v 1.5.2.4 2001/01/22 15:13:40 easysw Exp $".
|
// End of "$Id: filename_match.cxx,v 1.5.2.4.2.1 2001/12/11 16:03:13 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: fl_font.cxx,v 1.9.2.5.2.1 2001/11/27 17:44:08 easysw Exp $"
|
// "$Id: fl_font.cxx,v 1.9.2.5.2.2 2001/12/11 16:03:13 easysw Exp $"
|
||||||
//
|
//
|
||||||
// Font selection code for the Fast Light Tool Kit (FLTK).
|
// Font selection code for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@ -38,6 +38,7 @@
|
|||||||
# include "Fl_Font.H"
|
# include "Fl_Font.H"
|
||||||
|
|
||||||
# include <ctype.h>
|
# include <ctype.h>
|
||||||
|
# include <stdio.h>
|
||||||
# include <stdlib.h>
|
# include <stdlib.h>
|
||||||
# include <string.h>
|
# include <string.h>
|
||||||
|
|
||||||
@ -172,14 +173,7 @@ static Fl_FontSize* find(int fnum, int size) {
|
|||||||
// whoa! A scalable font! Use unless exact match found:
|
// whoa! A scalable font! Use unless exact match found:
|
||||||
int l = c-thisname;
|
int l = c-thisname;
|
||||||
memcpy(namebuffer,thisname,l);
|
memcpy(namebuffer,thisname,l);
|
||||||
#if 1 // this works if you don't want stdio
|
|
||||||
if (size>=100) namebuffer[l++] = size/100+'0';
|
|
||||||
if (size>=10) namebuffer[l++] = (size/10)%10+'0';
|
|
||||||
namebuffer[l++] = (size%10)+'0';
|
|
||||||
#else
|
|
||||||
//for some reason, sprintf fails to return the right value under Solaris.
|
|
||||||
l += sprintf(namebuffer+l,"%d",size);
|
l += sprintf(namebuffer+l,"%d",size);
|
||||||
#endif
|
|
||||||
while (*c == '0') c++;
|
while (*c == '0') c++;
|
||||||
strcpy(namebuffer+l,c);
|
strcpy(namebuffer+l,c);
|
||||||
name = namebuffer;
|
name = namebuffer;
|
||||||
@ -295,5 +289,5 @@ void fl_draw(const char* str, int x, int y) {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: fl_font.cxx,v 1.9.2.5.2.1 2001/11/27 17:44:08 easysw Exp $".
|
// End of "$Id: fl_font.cxx,v 1.9.2.5.2.2 2001/12/11 16:03:13 easysw Exp $".
|
||||||
//
|
//
|
||||||
|
Loading…
Reference in New Issue
Block a user