fltk/fluid/Fluid_Image.h
Carl E. Thompson 81c7d9b215 Changes needed to get FLTK to compile on Borland C++ 5 under Windows. I
compiled this on BC++ 5.0 upgraded to 5.0B via the two monster patches.
I didn't turn on optimization because my version of BC++ doesn't seem to
do much in the way of optimization (FLUID was only 1k smaller when
optimized for size).  VC++ generates smaller code.

The examples that use OpenGL don't work because Borland's linker can't find
"wglShareLists".  I'm sure this is a simple problem, but I don't know how
to fix it.

Borland's C++ compiler won't allow you to call main() from C++, so I had
to add a c function in "fl_call_main.c" to call it so that you don't have
to do that WinMain crap.  However, when I added this file to the Visual C++
project it converted the whole thing from 5.0 format to 6.0 format.  The
files look the nearly identical so I don't think this should be a problem
for 5.0 users, but if it is then you can revert them back to the previous
version and just add this one source file.

Borland really doesn't suck that bad.  It doesn't look as polished as VC++
and it refused to supress some warnings for no reason, but I forgot how
much I liked the feel of Borlands compilers...  Much more intuitive then
MS VC++.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@475 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-03-29 17:39:46 +00:00

61 lines
2.0 KiB
C++

//
// "$Id: Fluid_Image.h,v 1.3.2.1 1999/03/29 17:39:26 carl Exp $"
//
// Pixmap image header file for the Fast Light Tool Kit (FLTK).
//
// This class stores the image labels for widgets in fluid. This is
// not a class in fltk itself, and this will produce different types of
// code depending on what the image type is. There are private subclasses
// in Fluid_Image.C for each type of image format. Right now only xpm
// files are supported.
//
// Copyright 1998-1999 by Bill Spitzak and others.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Library General Public License for more details.
//
// You should have received a copy of the GNU Library General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA.
//
// Please report all bugs and problems to "fltk-bugs@easysw.com".
//
#ifndef FLUID_IMAGE_H
#define FLUID_IMAGE_H
class Fluid_Image {
const char *name_;
int refcount;
protected:
Fluid_Image(const char *name); // no public constructor
virtual ~Fluid_Image(); // no public destructor
public:
int written;
static Fluid_Image* find(const char *);
void decrement(); // reference counting & automatic free
void increment();
virtual void label(Fl_Widget *) = 0; // set the label of this widget
virtual void write_static() = 0;
virtual void write_code() = 0;
const char *name() const {return name_;}
};
// pop up file chooser and return a legal image selected by user,
// or zero for any errors:
Fluid_Image *ui_find_image(const char *);
#endif
//
// End of "$Id: Fluid_Image.h,v 1.3.2.1 1999/03/29 17:39:26 carl Exp $".
//