mirror of
https://github.com/fltk/fltk.git
synced 2026-06-04 23:42:15 +08:00
Add FL_EXPORT to several classes to fix MS VC++ dll builds (STR #2632).
Remove FL_EXPORT from fl_clip_region() since this is an inline function on all platforms (and issued a warning when building fltkdll with MS VC++). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
+8
-3
@@ -3,7 +3,7 @@
|
|||||||
//
|
//
|
||||||
// Floating point input header file for the Fast Light Tool Kit (FLTK).
|
// Floating point input header file for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
// Copyright 1998-2010 by Bill Spitzak and others.
|
// Copyright 1998-2011 by Bill Spitzak and others.
|
||||||
//
|
//
|
||||||
// This library is free software; you can redistribute it and/or
|
// This library is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU Library General Public
|
// modify it under the terms of the GNU Library General Public
|
||||||
@@ -39,15 +39,20 @@
|
|||||||
that only allows the user to type floating point numbers (sign,
|
that only allows the user to type floating point numbers (sign,
|
||||||
digits, decimal point, more digits, 'E' or 'e', sign, digits).
|
digits, decimal point, more digits, 'E' or 'e', sign, digits).
|
||||||
*/
|
*/
|
||||||
class Fl_Float_Input : public Fl_Input { // don't use FL_EXPORT here !
|
class FL_EXPORT Fl_Float_Input : public Fl_Input {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
Creates a new Fl_Float_Input widget using the given position,
|
Creates a new Fl_Float_Input widget using the given position,
|
||||||
size, and label string. The default boxtype is FL_DOWN_BOX.
|
size, and label string. The default boxtype is FL_DOWN_BOX.
|
||||||
<P> Inherited destructor destroys the widget and any value associated with it
|
|
||||||
|
Inherited destructor destroys the widget and any value associated with it.
|
||||||
*/
|
*/
|
||||||
|
#if defined(FL_DLL) // implementation in src/Fl_Input.cxx
|
||||||
|
Fl_Float_Input(int X,int Y,int W,int H,const char *l = 0);
|
||||||
|
#else
|
||||||
Fl_Float_Input(int X,int Y,int W,int H,const char *l = 0)
|
Fl_Float_Input(int X,int Y,int W,int H,const char *l = 0)
|
||||||
: Fl_Input(X,Y,W,H,l) {type(FL_FLOAT_INPUT);}
|
: Fl_Input(X,Y,W,H,l) {type(FL_FLOAT_INPUT);}
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+17
-3
@@ -3,7 +3,7 @@
|
|||||||
//
|
//
|
||||||
// Horizontal slider header file for the Fast Light Tool Kit (FLTK).
|
// Horizontal slider header file for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
// Copyright 1998-2010 by Bill Spitzak and others.
|
// Copyright 1998-2011 by Bill Spitzak and others.
|
||||||
//
|
//
|
||||||
// This library is free software; you can redistribute it and/or
|
// This library is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU Library General Public
|
// modify it under the terms of the GNU Library General Public
|
||||||
@@ -33,10 +33,24 @@
|
|||||||
|
|
||||||
#include "Fl_Slider.H"
|
#include "Fl_Slider.H"
|
||||||
|
|
||||||
class Fl_Hor_Slider : public Fl_Slider {
|
/** Horizontal Slider class.
|
||||||
|
|
||||||
|
\see class Fl_Slider.
|
||||||
|
*/
|
||||||
|
class FL_EXPORT Fl_Hor_Slider : public Fl_Slider {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a new Fl_Hor_Slider widget using the given position,
|
||||||
|
size, and label string.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(FL_DLL) // implementation in src/Fl_Slider.cxx
|
||||||
|
Fl_Hor_Slider(int X,int Y,int W,int H,const char *l=0);
|
||||||
|
#else
|
||||||
Fl_Hor_Slider(int X,int Y,int W,int H,const char *l=0)
|
Fl_Hor_Slider(int X,int Y,int W,int H,const char *l=0)
|
||||||
: Fl_Slider(X,Y,W,H,l) {type(FL_HOR_SLIDER);}
|
: Fl_Slider(X,Y,W,H,l) { type(FL_HOR_SLIDER); }
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+9
-3
@@ -34,18 +34,24 @@
|
|||||||
#include "Fl_Input.H"
|
#include "Fl_Input.H"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The Fl_Int_Input class is a subclass of Fl_Input
|
The Fl_Int_Input class is a subclass of Fl_Input that only allows
|
||||||
that only allows the user to type decimal digits (or hex numbers of the form 0xaef).
|
the user to type decimal digits (or hex numbers of the form 0xaef).
|
||||||
*/
|
*/
|
||||||
class FL_EXPORT Fl_Int_Input : public Fl_Input {
|
class FL_EXPORT Fl_Int_Input : public Fl_Input {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
Creates a new Fl_Int_Input widget using the given position,
|
Creates a new Fl_Int_Input widget using the given position,
|
||||||
size, and label string. The default boxtype is FL_DOWN_BOX.
|
size, and label string. The default boxtype is FL_DOWN_BOX.
|
||||||
<P>Inherited destructor Destroys the widget and any value associated with it.
|
|
||||||
|
Inherited destructor destroys the widget and any value associated with it.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if defined(FL_DLL) // implementation in src/Fl_Input.cxx
|
||||||
|
Fl_Int_Input(int X,int Y,int W,int H,const char *l = 0);
|
||||||
|
#else
|
||||||
Fl_Int_Input(int X,int Y,int W,int H,const char *l = 0)
|
Fl_Int_Input(int X,int Y,int W,int H,const char *l = 0)
|
||||||
: Fl_Input(X,Y,W,H,l) {type(FL_INT_INPUT);}
|
: Fl_Input(X,Y,W,H,l) {type(FL_INT_INPUT);}
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
//
|
//
|
||||||
// Multiline input header file for the Fast Light Tool Kit (FLTK).
|
// Multiline input header file for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
// Copyright 1998-2010 by Bill Spitzak and others.
|
// Copyright 1998-2011 by Bill Spitzak and others.
|
||||||
//
|
//
|
||||||
// This library is free software; you can redistribute it and/or
|
// This library is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU Library General Public
|
// modify it under the terms of the GNU Library General Public
|
||||||
@@ -57,10 +57,15 @@ public:
|
|||||||
/**
|
/**
|
||||||
Creates a new Fl_Multiline_Input widget using the given
|
Creates a new Fl_Multiline_Input widget using the given
|
||||||
position, size, and label string. The default boxtype is FL_DOWN_BOX.
|
position, size, and label string. The default boxtype is FL_DOWN_BOX.
|
||||||
<P>Inherited destructor destroys the widget and any value associated with it.
|
|
||||||
|
Inherited destructor destroys the widget and any value associated with it.
|
||||||
*/
|
*/
|
||||||
|
#if defined(FL_DLL) // implementation in src/Fl_Input.cxx
|
||||||
|
Fl_Multiline_Input(int X,int Y,int W,int H,const char *l = 0);
|
||||||
|
#else
|
||||||
Fl_Multiline_Input(int X,int Y,int W,int H,const char *l = 0)
|
Fl_Multiline_Input(int X,int Y,int W,int H,const char *l = 0)
|
||||||
: Fl_Input(X,Y,W,H,l) {type(FL_MULTILINE_INPUT);}
|
: Fl_Input(X,Y,W,H,l) {type(FL_MULTILINE_INPUT);}
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
//
|
//
|
||||||
// Multi line output header file for the Fast Light Tool Kit (FLTK).
|
// Multi line output header file for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
// Copyright 1998-2010 by Bill Spitzak and others.
|
// Copyright 1998-2011 by Bill Spitzak and others.
|
||||||
//
|
//
|
||||||
// This library is free software; you can redistribute it and/or
|
// This library is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU Library General Public
|
// modify it under the terms of the GNU Library General Public
|
||||||
@@ -48,13 +48,19 @@
|
|||||||
*/
|
*/
|
||||||
class FL_EXPORT Fl_Multiline_Output : public Fl_Output {
|
class FL_EXPORT Fl_Multiline_Output : public Fl_Output {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Creates a new Fl_Multiline_Output widget using the given
|
Creates a new Fl_Multiline_Output widget using the given position,
|
||||||
position, size, and label string. The default boxtype is FL_DOWN_BOX
|
size, and label string. The default boxtype is FL_DOWN_BOX.
|
||||||
<P> Inherited destructor destroys the widget and any value associated with it.
|
|
||||||
|
Inherited destructor destroys the widget and any value associated with it.
|
||||||
*/
|
*/
|
||||||
|
#if defined(FL_DLL) // implementation in src/Fl_Input.cxx
|
||||||
|
Fl_Multiline_Output(int X,int Y,int W,int H,const char *l = 0);
|
||||||
|
#else
|
||||||
Fl_Multiline_Output(int X,int Y,int W,int H,const char *l = 0)
|
Fl_Multiline_Output(int X,int Y,int W,int H,const char *l = 0)
|
||||||
: Fl_Output(X,Y,W,H,l) {type(FL_MULTILINE_OUTPUT);}
|
: Fl_Output(X,Y,W,H,l) {type(FL_MULTILINE_OUTPUT);}
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+7
-2
@@ -53,16 +53,21 @@
|
|||||||
and \\nnn notation for unprintable characters with the high bit set. It
|
and \\nnn notation for unprintable characters with the high bit set. It
|
||||||
assumes the font can draw any characters in the ISO-Latin1 character set.
|
assumes the font can draw any characters in the ISO-Latin1 character set.
|
||||||
*/
|
*/
|
||||||
class Fl_Output : public Fl_Input { // don't use FL_EXPORT here !
|
class FL_EXPORT Fl_Output : public Fl_Input {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
Creates a new Fl_Output widget using the given position,
|
Creates a new Fl_Output widget using the given position,
|
||||||
size, and label string. The default boxtype is FL_DOWN_BOX.
|
size, and label string. The default boxtype is FL_DOWN_BOX.
|
||||||
|
|
||||||
Inherited destrucor destroys the widget and any value associated with it.
|
Inherited destructor destroys the widget and any value associated with it.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if defined(FL_DLL) // implementation in src/Fl_Input.cxx
|
||||||
|
Fl_Output(int X,int Y,int W,int H, const char *l = 0);
|
||||||
|
#else
|
||||||
Fl_Output(int X,int Y,int W,int H, const char *l = 0)
|
Fl_Output(int X,int Y,int W,int H, const char *l = 0)
|
||||||
: Fl_Input(X, Y, W, H, l) {type(FL_NORMAL_OUTPUT);}
|
: Fl_Input(X, Y, W, H, l) {type(FL_NORMAL_OUTPUT);}
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+13
-5
@@ -3,7 +3,7 @@
|
|||||||
//
|
//
|
||||||
// Secret input header file for the Fast Light Tool Kit (FLTK).
|
// Secret input header file for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
// Copyright 1998-2010 by Bill Spitzak and others.
|
// Copyright 1998-2011 by Bill Spitzak and others.
|
||||||
//
|
//
|
||||||
// This library is free software; you can redistribute it and/or
|
// This library is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU Library General Public
|
// modify it under the terms of the GNU Library General Public
|
||||||
@@ -34,19 +34,27 @@
|
|||||||
#include "Fl_Input.H"
|
#include "Fl_Input.H"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The Fl_Secret_Input class is a subclass of Fl_Input
|
The Fl_Secret_Input class is a subclass of Fl_Input that displays its
|
||||||
that displays its input as a string of asterisks. This subclass is
|
input as a string of placeholders. Depending on the platform this
|
||||||
usually used to receive passwords and other "secret" information.
|
placeholder is either the asterisk ('*') or the Unicode bullet
|
||||||
|
character (U+2022).
|
||||||
|
|
||||||
|
This subclass is usually used to receive passwords and other "secret" information.
|
||||||
*/
|
*/
|
||||||
class FL_EXPORT Fl_Secret_Input : public Fl_Input {
|
class FL_EXPORT Fl_Secret_Input : public Fl_Input {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
Creates a new Fl_Secret_Input widget using the given
|
Creates a new Fl_Secret_Input widget using the given
|
||||||
position, size, and label string. The default boxtype is FL_DOWN_BOX.
|
position, size, and label string. The default boxtype is FL_DOWN_BOX.
|
||||||
<P>Inherited destructor destroys the widget and any value associated with it.
|
|
||||||
|
Inherited destructor destroys the widget and any value associated with it.
|
||||||
*/
|
*/
|
||||||
|
#if defined(FL_DLL) // implementation in src/Fl_Input.cxx
|
||||||
|
Fl_Secret_Input(int X,int Y,int W,int H,const char *l = 0);
|
||||||
|
#else
|
||||||
Fl_Secret_Input(int X,int Y,int W,int H,const char *l = 0)
|
Fl_Secret_Input(int X,int Y,int W,int H,const char *l = 0)
|
||||||
: Fl_Input(X,Y,W,H,l) {type(FL_SECRET_INPUT);}
|
: Fl_Input(X,Y,W,H,l) {type(FL_SECRET_INPUT);}
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+1
-1
@@ -110,7 +110,7 @@ FL_EXPORT Window fl_xid_(const Fl_Window* w);
|
|||||||
#endif // FL_LIBRARY || FL_INTERNALS
|
#endif // FL_LIBRARY || FL_INTERNALS
|
||||||
|
|
||||||
FL_EXPORT Fl_Window* fl_find(Window xid);
|
FL_EXPORT Fl_Window* fl_find(Window xid);
|
||||||
FL_EXPORT void fl_clip_region(Fl_Region);
|
void fl_clip_region(Fl_Region);
|
||||||
|
|
||||||
// most recent fl_color() or fl_rgbcolor() points at one of these:
|
// most recent fl_color() or fl_rgbcolor() points at one of these:
|
||||||
extern FL_EXPORT struct Fl_XMap {
|
extern FL_EXPORT struct Fl_XMap {
|
||||||
|
|||||||
+55
-1
@@ -3,7 +3,7 @@
|
|||||||
//
|
//
|
||||||
// Input widget for the Fast Light Tool Kit (FLTK).
|
// Input widget for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
// Copyright 1998-2010 by Bill Spitzak and others.
|
// Copyright 1998-2011 by Bill Spitzak and others.
|
||||||
//
|
//
|
||||||
// This library is free software; you can redistribute it and/or
|
// This library is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU Library General Public
|
// modify it under the terms of the GNU Library General Public
|
||||||
@@ -40,6 +40,15 @@
|
|||||||
#include <FL/fl_ask.H>
|
#include <FL/fl_ask.H>
|
||||||
#include "flstring.h"
|
#include "flstring.h"
|
||||||
|
|
||||||
|
#if defined(FL_DLL) // really needed for c'tors for MS VC++ only
|
||||||
|
#include <FL/Fl_Float_Input.H>
|
||||||
|
#include <FL/Fl_Int_Input.H>
|
||||||
|
#include <FL/Fl_Multiline_Input.H>
|
||||||
|
#include <FL/Fl_Output.H>
|
||||||
|
#include <FL/Fl_Multiline_Output.H>
|
||||||
|
#include <FL/Fl_Secret_Input.H>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_LOCALE_H
|
#ifdef HAVE_LOCALE_H
|
||||||
# include <locale.h>
|
# include <locale.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -763,6 +772,51 @@ Fl_Input::Fl_Input(int X, int Y, int W, int H, const char *l)
|
|||||||
: Fl_Input_(X, Y, W, H, l) {
|
: Fl_Input_(X, Y, W, H, l) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
The following constructors must not be in the header file(s) if we
|
||||||
|
build a shared object (DLL). Instead they are defined here to force
|
||||||
|
the constructor (and default destructor as well) to be defined in
|
||||||
|
the DLL and exported (STR #2632).
|
||||||
|
|
||||||
|
Note: if you change any of them, do the same changes in the specific
|
||||||
|
header file as well. This redundant definition was chosen to enable
|
||||||
|
inline constructors in the header files (for static linking) as well
|
||||||
|
as those here for dynamic linking (Windows DLL).
|
||||||
|
*/
|
||||||
|
#if defined(FL_DLL)
|
||||||
|
|
||||||
|
Fl_Float_Input::Fl_Float_Input(int X,int Y,int W,int H,const char *l)
|
||||||
|
: Fl_Input(X,Y,W,H,l) {
|
||||||
|
type(FL_FLOAT_INPUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
Fl_Int_Input::Fl_Int_Input(int X,int Y,int W,int H,const char *l)
|
||||||
|
: Fl_Input(X,Y,W,H,l) {
|
||||||
|
type(FL_INT_INPUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
Fl_Multiline_Input::Fl_Multiline_Input(int X,int Y,int W,int H,const char *l)
|
||||||
|
: Fl_Input(X,Y,W,H,l) {
|
||||||
|
type(FL_MULTILINE_INPUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
Fl_Output::Fl_Output(int X,int Y,int W,int H, const char *l)
|
||||||
|
: Fl_Input(X, Y, W, H, l) {
|
||||||
|
type(FL_NORMAL_OUTPUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
Fl_Multiline_Output::Fl_Multiline_Output(int X,int Y,int W,int H,const char *l)
|
||||||
|
: Fl_Output(X,Y,W,H,l) {
|
||||||
|
type(FL_MULTILINE_OUTPUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
Fl_Secret_Input::Fl_Secret_Input(int X,int Y,int W,int H,const char *l)
|
||||||
|
: Fl_Input(X,Y,W,H,l) {
|
||||||
|
type(FL_SECRET_INPUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // FL_DLL
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id$".
|
// End of "$Id$".
|
||||||
//
|
//
|
||||||
|
|||||||
+24
-1
@@ -3,7 +3,7 @@
|
|||||||
//
|
//
|
||||||
// Slider widget for the Fast Light Tool Kit (FLTK).
|
// Slider widget for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
// Copyright 1998-2010 by Bill Spitzak and others.
|
// Copyright 1998-2011 by Bill Spitzak and others.
|
||||||
//
|
//
|
||||||
// This library is free software; you can redistribute it and/or
|
// This library is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU Library General Public
|
// modify it under the terms of the GNU Library General Public
|
||||||
@@ -31,6 +31,10 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "flstring.h"
|
#include "flstring.h"
|
||||||
|
|
||||||
|
#if defined(FL_DLL) // really needed for c'tors for MS VC++ only
|
||||||
|
#include <FL/Fl_Hor_Slider.H>
|
||||||
|
#endif
|
||||||
|
|
||||||
void Fl_Slider::_Fl_Slider() {
|
void Fl_Slider::_Fl_Slider() {
|
||||||
slider_size_ = 0;
|
slider_size_ = 0;
|
||||||
slider_ = 0; // FL_UP_BOX;
|
slider_ = 0; // FL_UP_BOX;
|
||||||
@@ -364,6 +368,25 @@ int Fl_Slider::handle(int event) {
|
|||||||
h()-Fl::box_dh(box()));
|
h()-Fl::box_dh(box()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
The following constructor must not be in the header file if we
|
||||||
|
build a shared object (DLL). Instead it is defined here to force
|
||||||
|
the constructor (and default destructor as well) to be defined
|
||||||
|
in the DLL and exported (STR #2632).
|
||||||
|
|
||||||
|
Note: if you the ctor here, do the same changes in the specific
|
||||||
|
header file as well. This redundant definition was chosen to enable
|
||||||
|
inline constructors in the header files (for static linking) as well
|
||||||
|
as the one here for dynamic linking (Windows DLL).
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(FL_DLL)
|
||||||
|
|
||||||
|
Fl_Hor_Slider::Fl_Hor_Slider(int X,int Y,int W,int H,const char *l)
|
||||||
|
: Fl_Slider(X,Y,W,H,l) {type(FL_HOR_SLIDER);}
|
||||||
|
|
||||||
|
#endif // FL_DLL
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id$".
|
// End of "$Id$".
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user