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:
+9
-4
@@ -3,7 +3,7 @@
|
||||
//
|
||||
// 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
|
||||
// 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,
|
||||
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:
|
||||
/**
|
||||
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.
|
||||
<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_Input(X,Y,W,H,l) {type(FL_FLOAT_INPUT);}
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+18
-4
@@ -3,7 +3,7 @@
|
||||
//
|
||||
// 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
|
||||
// modify it under the terms of the GNU Library General Public
|
||||
@@ -33,10 +33,24 @@
|
||||
|
||||
#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:
|
||||
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);}
|
||||
|
||||
/**
|
||||
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_Slider(X,Y,W,H,l) { type(FL_HOR_SLIDER); }
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+9
-3
@@ -34,18 +34,24 @@
|
||||
#include "Fl_Input.H"
|
||||
|
||||
/**
|
||||
The Fl_Int_Input class is a subclass of Fl_Input
|
||||
that only allows the user to type decimal digits (or hex numbers of the form 0xaef).
|
||||
The Fl_Int_Input class is a subclass of Fl_Input that only allows
|
||||
the user to type decimal digits (or hex numbers of the form 0xaef).
|
||||
*/
|
||||
class FL_EXPORT Fl_Int_Input : public Fl_Input {
|
||||
public:
|
||||
/**
|
||||
Creates a new Fl_Int_Input widget using the given 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_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_Input(X,Y,W,H,l) {type(FL_INT_INPUT);}
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
//
|
||||
// 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
|
||||
// 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
|
||||
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_Input(X,Y,W,H,l) {type(FL_MULTILINE_INPUT);}
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
//
|
||||
// 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
|
||||
// modify it under the terms of the GNU Library General Public
|
||||
@@ -48,13 +48,19 @@
|
||||
*/
|
||||
class FL_EXPORT Fl_Multiline_Output : public Fl_Output {
|
||||
public:
|
||||
|
||||
/**
|
||||
Creates a new Fl_Multiline_Output widget using the given
|
||||
position, size, and label string. The default boxtype is FL_DOWN_BOX
|
||||
<P> Inherited destructor destroys the widget and any value associated with it.
|
||||
Creates a new Fl_Multiline_Output widget using the given position,
|
||||
size, and label string. The default boxtype is FL_DOWN_BOX.
|
||||
|
||||
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_Output(X,Y,W,H,l) {type(FL_MULTILINE_OUTPUT);}
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+7
-2
@@ -53,16 +53,21 @@
|
||||
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.
|
||||
*/
|
||||
class Fl_Output : public Fl_Input { // don't use FL_EXPORT here !
|
||||
class FL_EXPORT Fl_Output : public Fl_Input {
|
||||
public:
|
||||
/**
|
||||
Creates a new Fl_Output widget using the given position,
|
||||
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_Input(X, Y, W, H, l) {type(FL_NORMAL_OUTPUT);}
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+13
-5
@@ -3,7 +3,7 @@
|
||||
//
|
||||
// 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
|
||||
// modify it under the terms of the GNU Library General Public
|
||||
@@ -34,19 +34,27 @@
|
||||
#include "Fl_Input.H"
|
||||
|
||||
/**
|
||||
The Fl_Secret_Input class is a subclass of Fl_Input
|
||||
that displays its input as a string of asterisks. This subclass is
|
||||
usually used to receive passwords and other "secret" information.
|
||||
The Fl_Secret_Input class is a subclass of Fl_Input that displays its
|
||||
input as a string of placeholders. Depending on the platform this
|
||||
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 {
|
||||
public:
|
||||
/**
|
||||
Creates a new Fl_Secret_Input widget using the given
|
||||
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_Input(X,Y,W,H,l) {type(FL_SECRET_INPUT);}
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -110,7 +110,7 @@ FL_EXPORT Window fl_xid_(const Fl_Window* w);
|
||||
#endif // FL_LIBRARY || FL_INTERNALS
|
||||
|
||||
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:
|
||||
extern FL_EXPORT struct Fl_XMap {
|
||||
|
||||
+55
-1
@@ -3,7 +3,7 @@
|
||||
//
|
||||
// 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
|
||||
// modify it under the terms of the GNU Library General Public
|
||||
@@ -40,6 +40,15 @@
|
||||
#include <FL/fl_ask.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
|
||||
# include <locale.h>
|
||||
#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) {
|
||||
}
|
||||
|
||||
/*
|
||||
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$".
|
||||
//
|
||||
|
||||
+24
-1
@@ -3,7 +3,7 @@
|
||||
//
|
||||
// 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
|
||||
// modify it under the terms of the GNU Library General Public
|
||||
@@ -31,6 +31,10 @@
|
||||
#include <math.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() {
|
||||
slider_size_ = 0;
|
||||
slider_ = 0; // FL_UP_BOX;
|
||||
@@ -364,6 +368,25 @@ int Fl_Slider::handle(int event) {
|
||||
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$".
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user