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
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits