Revision: 76668 http://sourceforge.net/p/brlcad/code/76668 Author: starseeker Date: 2020-08-06 16:34:01 +0000 (Thu, 06 Aug 2020) Log Message: ----------- Remove the last use of DM_* ifdefs from MGED
Modified Paths: -------------- brlcad/trunk/include/dm.h brlcad/trunk/src/libdm/X/dm-X.c brlcad/trunk/src/libdm/dm-generic.c brlcad/trunk/src/libdm/dm_plugins.cpp brlcad/trunk/src/libdm/glx/dm-ogl.c brlcad/trunk/src/libdm/include/calltable.h brlcad/trunk/src/libdm/null/dm-Null.c brlcad/trunk/src/libdm/osgl/dm-osgl.cpp brlcad/trunk/src/libdm/plot/dm-plot.c brlcad/trunk/src/libdm/postscript/dm-ps.c brlcad/trunk/src/libdm/qt/dm-qt.cpp brlcad/trunk/src/libdm/tk/dm-tk.c brlcad/trunk/src/libdm/txt/dm-txt.c brlcad/trunk/src/libdm/wgl/dm-wgl.c brlcad/trunk/src/mged/attach.c brlcad/trunk/src/mged/mged.c Modified: brlcad/trunk/include/dm.h =================================================================== --- brlcad/trunk/include/dm.h 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/include/dm.h 2020-08-06 16:34:01 UTC (rev 76668) @@ -173,8 +173,8 @@ const char *argv[]); DM_EXPORT extern void dm_list_types(struct bu_vls *list, const char *separator); DM_EXPORT const char *dm_bestXType(const char *dpy_string); +DM_EXPORT extern int dm_have_graphics(); - /* functions to make a dm struct hideable - will need to * sort these out later */ @@ -190,6 +190,7 @@ DM_EXPORT extern void dm_geometry_request(struct dm *dmp, int width, int height); DM_EXPORT extern void dm_internal_var(struct bu_vls *result, struct dm *dmp, const char *key); // ick DM_EXPORT extern fastf_t dm_get_aspect(struct dm *dmp); +DM_EXPORT extern int dm_graphical(const struct dm *dmp); DM_EXPORT extern const char *dm_get_type(struct dm *dmp); DM_EXPORT extern unsigned long dm_get_id(struct dm *dmp); DM_EXPORT extern void dm_set_id(struct dm *dmp, unsigned long new_id); Modified: brlcad/trunk/src/libdm/X/dm-X.c =================================================================== --- brlcad/trunk/src/libdm/X/dm-X.c 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/X/dm-X.c 2020-08-06 16:34:01 UTC (rev 76668) @@ -2120,8 +2120,9 @@ NULL, NULL, 0, + 1, /* is graphical */ 0, /* no displaylist */ - 0, /* no stereo */ + 0, /* no stereo */ PLOTBOUND, /* zoom-in limit */ 1, /* bound flag */ "X", Modified: brlcad/trunk/src/libdm/dm-generic.c =================================================================== --- brlcad/trunk/src/libdm/dm-generic.c 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/dm-generic.c 2020-08-06 16:34:01 UTC (rev 76668) @@ -219,6 +219,12 @@ dmp->i->dm_height = height; } +int +dm_graphical(const struct dm *dmp) +{ + if (UNLIKELY(!dmp)) return 0; + return dmp->i->dm_graphical; +} const char * dm_get_type(struct dm *dmp) Modified: brlcad/trunk/src/libdm/dm_plugins.cpp =================================================================== --- brlcad/trunk/src/libdm/dm_plugins.cpp 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/dm_plugins.cpp 2020-08-06 16:34:01 UTC (rev 76668) @@ -61,6 +61,23 @@ return dmp; } +extern "C" int +dm_have_graphics() +{ + int ret = 0; + std::map<std::string, const struct dm *> *dmb = (std::map<std::string, const struct dm *> *)dm_backends; + std::map<std::string, const struct dm *>::iterator d_it; + for (d_it = dmb->begin(); d_it != dmb->end(); d_it++) { + std::string key = d_it->first; + const struct dm *d = d_it->second; + if (dm_graphical(d)) { + ret = 1; + break; + } + } + return ret; +} + extern "C" void dm_list_types(struct bu_vls *list, const char *separator) { Modified: brlcad/trunk/src/libdm/glx/dm-ogl.c =================================================================== --- brlcad/trunk/src/libdm/glx/dm-ogl.c 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/glx/dm-ogl.c 2020-08-06 16:34:01 UTC (rev 76668) @@ -3058,6 +3058,7 @@ ogl_fogHint, ogl_share_dlist, 0, + 1, /* is graphical */ 1, /* has displaylist */ 0, /* no stereo by default */ 1.0, /* zoom-in limit */ Modified: brlcad/trunk/src/libdm/include/calltable.h =================================================================== --- brlcad/trunk/src/libdm/include/calltable.h 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/include/calltable.h 2020-08-06 16:34:01 UTC (rev 76668) @@ -109,6 +109,7 @@ void (*dm_fogHint)(struct dm *dmp, int fastfog); int (*dm_share_dlist)(struct dm *dmp1, struct dm *dmp2); unsigned long dm_id; /**< @brief window id */ + int dm_graphical; /**< @brief !0 means device supports interactive graphics */ int dm_displaylist; /**< @brief !0 means device has displaylist */ int dm_stereo; /**< @brief stereo flag */ double dm_bound; /**< @brief zoom-in limit */ Modified: brlcad/trunk/src/libdm/null/dm-Null.c =================================================================== --- brlcad/trunk/src/libdm/null/dm-Null.c 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/null/dm-Null.c 2020-08-06 16:34:01 UTC (rev 76668) @@ -359,6 +359,7 @@ NULL, NULL, 0, + 0, /* not graphical */ 0, /* no displaylist */ 0, /* no stereo */ 0.0, /* zoom-in limit */ Modified: brlcad/trunk/src/libdm/osgl/dm-osgl.cpp =================================================================== --- brlcad/trunk/src/libdm/osgl/dm-osgl.cpp 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/osgl/dm-osgl.cpp 2020-08-06 16:34:01 UTC (rev 76668) @@ -2708,6 +2708,7 @@ NULL, NULL, 0, + 1, /* is graphical */ 1, /* has displaylist */ 0, /* no stereo by default */ 1.0, /* zoom-in limit */ Modified: brlcad/trunk/src/libdm/plot/dm-plot.c =================================================================== --- brlcad/trunk/src/libdm/plot/dm-plot.c 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/plot/dm-plot.c 2020-08-06 16:34:01 UTC (rev 76668) @@ -717,6 +717,7 @@ NULL, NULL, 0, + 0, /* not graphical */ 0, /* no displaylist */ 0, /* no stereo */ PLOTBOUND, /* zoom-in limit */ Modified: brlcad/trunk/src/libdm/postscript/dm-ps.c =================================================================== --- brlcad/trunk/src/libdm/postscript/dm-ps.c 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/postscript/dm-ps.c 2020-08-06 16:34:01 UTC (rev 76668) @@ -786,8 +786,9 @@ NULL, NULL, 0, + 0, /* not graphical */ 0, /* no displaylist */ - 0, /* no stereo */ + 0, /* no stereo */ PLOTBOUND, /* zoom-in limit */ 1, /* bound flag */ "ps", Modified: brlcad/trunk/src/libdm/qt/dm-qt.cpp =================================================================== --- brlcad/trunk/src/libdm/qt/dm-qt.cpp 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/qt/dm-qt.cpp 2020-08-06 16:34:01 UTC (rev 76668) @@ -1360,6 +1360,7 @@ NULL, NULL, 0, + 1, /* is graphical */ 0, /* no displaylist */ 0, /* no stereo */ 0.0, /* zoom-in limit */ Modified: brlcad/trunk/src/libdm/tk/dm-tk.c =================================================================== --- brlcad/trunk/src/libdm/tk/dm-tk.c 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/tk/dm-tk.c 2020-08-06 16:34:01 UTC (rev 76668) @@ -1159,6 +1159,7 @@ NULL, NULL, 0, + 1, /* is graphical */ 0, /* no displaylist */ 0, /* no stereo */ PLOTBOUND, /* zoom-in limit */ Modified: brlcad/trunk/src/libdm/txt/dm-txt.c =================================================================== --- brlcad/trunk/src/libdm/txt/dm-txt.c 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/txt/dm-txt.c 2020-08-06 16:34:01 UTC (rev 76668) @@ -408,6 +408,7 @@ NULL, NULL, 0, + 0, /* not graphical */ 0, /* no displaylist */ 0, /* no stereo */ 0.0, /* zoom-in limit */ Modified: brlcad/trunk/src/libdm/wgl/dm-wgl.c =================================================================== --- brlcad/trunk/src/libdm/wgl/dm-wgl.c 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/libdm/wgl/dm-wgl.c 2020-08-06 16:34:01 UTC (rev 76668) @@ -2344,6 +2344,7 @@ wgl_fogHint, wgl_share_dlist, 0, + 1, /* is graphical */ 1, /* has displaylist */ 0, /* no stereo by default */ 1.0, /* zoom-in limit */ Modified: brlcad/trunk/src/mged/attach.c =================================================================== --- brlcad/trunk/src/mged/attach.c 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/mged/attach.c 2020-08-06 16:34:01 UTC (rev 76668) @@ -587,48 +587,9 @@ bu_vls_free(&vls); return TCL_ERROR; } -#ifdef DM_X - if (BU_STR_EQUAL(argv[argc-1], "X")) { - Tcl_AppendResult(interpreter, "X", (char *)NULL); + if (dm_valid_type(argv[argc-1], NULL)) { + Tcl_AppendResult(interpreter, argv[argc-1], (char *)NULL); } -#endif /* DM_X */ -#if 0 -#ifdef DM_TK - if (BU_STR_EQUAL(argv[argc-1], "tk")) { - Tcl_AppendResult(interpreter, "tk", (char *)NULL); - } -#endif /* DM_TK */ -#endif -#ifdef DM_WGL - if (BU_STR_EQUAL(argv[argc-1], "wgl")) { - Tcl_AppendResult(interpreter, "wgl", (char *)NULL); - } -#endif /* DM_WGL */ -#ifdef DM_OGL - if (BU_STR_EQUAL(argv[argc-1], "ogl")) { - Tcl_AppendResult(interpreter, "ogl", (char *)NULL); - } -#endif /* DM_OGL */ -#ifdef DM_OSG - if (BU_STR_EQUAL(argv[argc-1], "osg")) { - Tcl_AppendResult(interpreter, "osg", (char *)NULL); - } -#endif /* DM_OSG*/ -#ifdef DM_OSGL - if (BU_STR_EQUAL(argv[argc-1], "osgl")) { - Tcl_AppendResult(interpreter, "osgl", (char *)NULL); - } -#endif /* DM_OSGL*/ -#ifdef DM_GLX - if (BU_STR_EQUAL(argv[argc-1], "glx")) { - Tcl_AppendResult(interpreter, "glx", (char *)NULL); - } -#endif /* DM_GLX */ -#ifdef DM_QT - if (BU_STR_EQUAL(argv[argc-1], "qt")) { - Tcl_AppendResult(interpreter, "qt", (char *)NULL); - } -#endif /* DM_QT */ return TCL_OK; } Modified: brlcad/trunk/src/mged/mged.c =================================================================== --- brlcad/trunk/src/mged/mged.c 2020-08-06 16:11:47 UTC (rev 76667) +++ brlcad/trunk/src/mged/mged.c 2020-08-06 16:34:01 UTC (rev 76668) @@ -145,15 +145,7 @@ int interactive = 1; /* >0 means interactive */ int cbreak_mode = 0; /* >0 means in cbreak_mode */ -#if defined(DM_X) || defined(DM_TK) || defined(DM_OGL) || defined(DM_WGL) || defined(DM_OSGL) -# if defined(HAVE_TK) -int classic_mged=0; -# else int classic_mged=1; -# endif -#else -int classic_mged=1; -#endif /* The old mged gui is temporarily the default. */ int old_mged_gui=1; @@ -1062,6 +1054,12 @@ RTG.rtg_parallel = 1; } +#if defined(HAVE_TK) + if (dm_have_graphics()) { + classic_mged = 0; + } +#endif + bu_optind = 1; while ((c = bu_getopt(argc, argv, "a:d:hbicorx:X:v?")) != -1) { if (bu_optopt == '?') c='h'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ BRL-CAD Source Commits mailing list brlcad-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-commits