X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=c%2B%2B%2Fcursesw.h;h=602b7a9650912544cac6ad385dc1324d8c1b5a94;hp=10a2da7ed4a781801368e6914b4a57195761449d;hb=cf6a62567b2365c8678b7d561845bdbd1739e5da;hpb=47d2fb4537d9ad5bb14f4810561a327930ca4280 diff --git a/c++/cursesw.h b/c++/cursesw.h index 10a2da7e..602b7a96 100644 --- a/c++/cursesw.h +++ b/c++/cursesw.h @@ -32,12 +32,23 @@ #ifndef NCURSES_CURSESW_H_incl #define NCURSES_CURSESW_H_incl 1 -// $Id: cursesw.h,v 1.56 2020/02/02 23:34:34 tom Exp $ +// $Id: cursesw.h,v 1.57 2020/07/04 20:38:43 tom Exp $ extern "C" { # include } +#if defined(BUILDING_NCURSES_CXX) +# define NCURSES_CXX_IMPEXP NCURSES_EXPORT_GENERAL_EXPORT +#else +# define NCURSES_CXX_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT +#endif + +#define NCURSES_CXX_WRAPPED_VAR(type,name) extern NCURSES_CXX_IMPEXP type NCURSES_PUBLIC_VAR(name)(void) + +#define NCURSES_CXX_EXPORT(type) NCURSES_CXX_IMPEXP type NCURSES_API +#define NCURSES_CXX_EXPORT_VAR(type) NCURSES_CXX_IMPEXP type + #include /* SCO 3.2v4 curses.h includes term.h, which defines lines as a macro. @@ -757,7 +768,7 @@ extern "C" int _nc_ripoffline(int, int (*init)(WINDOW*, int)); extern "C" int _nc_xx_ripoff_init(WINDOW *, int); extern "C" int _nc_has_mouse(void); -class NCURSES_IMPEXP NCursesWindow +class NCURSES_CXX_IMPEXP NCursesWindow { friend class NCursesMenu; friend class NCursesForm; @@ -1371,7 +1382,7 @@ public: // ------------------------------------------------------------------------- // We leave this here for compatibility reasons. // ------------------------------------------------------------------------- -class NCURSES_IMPEXP NCursesColorWindow : public NCursesWindow +class NCURSES_CXX_IMPEXP NCursesColorWindow : public NCursesWindow { public: NCursesColorWindow(WINDOW* &window) // useful only for stdscr @@ -1417,7 +1428,7 @@ public: // Pad Support. We allow an association of a pad with a "real" window // through which the pad may be viewed. // ------------------------------------------------------------------------- -class NCURSES_IMPEXP NCursesPad : public NCursesWindow +class NCURSES_CXX_IMPEXP NCursesPad : public NCursesWindow { private: NCursesWindow* viewWin; // the "viewport" window @@ -1533,7 +1544,7 @@ public: // A FramedPad is constructed always with a viewport window. This viewport // will be framed (by a box() command) and the interior of the box is the // viewport subwindow. On the frame we display scrollbar sliders. -class NCURSES_IMPEXP NCursesFramedPad : public NCursesPad +class NCURSES_CXX_IMPEXP NCursesFramedPad : public NCursesPad { protected: virtual void OnOperation(int pad_req);