Revision: 75455
http://sourceforge.net/p/brlcad/code/75455
Author: starseeker
Date: 2020-04-18 02:12:27 +0000 (Sat, 18 Apr 2020)
Log Message:
-----------
eliminate the numerical DM_ types
Modified Paths:
--------------
brlcad/branches/dm-fb-merge/include/dm.h
brlcad/branches/dm-fb-merge/src/libdm/X/dm-X.c
brlcad/branches/dm-fb-merge/src/libdm/dm-generic.c
brlcad/branches/dm-fb-merge/src/libdm/glx/dm-ogl.c
brlcad/branches/dm-fb-merge/src/libdm/include/calltable.h
brlcad/branches/dm-fb-merge/src/libdm/null/dm-Null.c
brlcad/branches/dm-fb-merge/src/libdm/osgl/dm-osgl.cpp
brlcad/branches/dm-fb-merge/src/libdm/plot/dm-plot.c
brlcad/branches/dm-fb-merge/src/libdm/postscript/dm-ps.c
brlcad/branches/dm-fb-merge/src/libdm/qt/dm-qt.cpp
brlcad/branches/dm-fb-merge/src/libdm/tk/dm-tk.c
brlcad/branches/dm-fb-merge/src/libdm/txt/dm-txt.c
brlcad/branches/dm-fb-merge/src/libdm/wgl/dm-wgl.c
brlcad/branches/dm-fb-merge/src/libtclcad/tclcad_obj.c
brlcad/branches/dm-fb-merge/src/util/plot3-dm.c
Modified: brlcad/branches/dm-fb-merge/include/dm.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/dm.h 2020-04-18 01:52:26 UTC (rev
75454)
+++ brlcad/branches/dm-fb-merge/include/dm.h 2020-04-18 02:12:27 UTC (rev
75455)
@@ -42,23 +42,6 @@
#define DM_NULL (struct dm *)NULL
-/* Display Manager Types */
-#define DM_TYPE_BAD -1
-#define DM_TYPE_NULL 0
-#define DM_TYPE_PLOT 1
-#define DM_TYPE_PS 2
-#define DM_TYPE_X 3
-#define DM_TYPE_OGL 4
-#define DM_TYPE_GLX 5
-#define DM_TYPE_PEX 6
-#define DM_TYPE_WGL 7
-#define DM_TYPE_TK 8
-#define DM_TYPE_RTGL 9
-#define DM_TYPE_TXT 10
-#define DM_TYPE_QT 11
-#define DM_TYPE_OSG 12
-#define DM_TYPE_OSGL 13
-
/* the font used depends on the size of the window opened */
#define FONTBACK "-adobe-courier-medium-r-normal--10-100-75-75-m-60-iso8859-1"
#define FONT5 "5x7"
@@ -206,7 +189,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_get_type(struct dm *dmp);
+DM_EXPORT extern const char *dm_get_type(struct dm *dmp);
DM_EXPORT extern struct bu_vls *dm_list_types(const char separator); /* free
return list with bu_vls_free(list); BU_PUT(list, struct bu_vls); */
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/branches/dm-fb-merge/src/libdm/X/dm-X.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/X/dm-X.c 2020-04-18 01:52:26 UTC
(rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libdm/X/dm-X.c 2020-04-18 02:12:27 UTC
(rev 75455)
@@ -2100,7 +2100,6 @@
1, /* bound flag */
"X",
"X Window System (X11)",
- DM_TYPE_X,
1,
0,
0,
Modified: brlcad/branches/dm-fb-merge/src/libdm/dm-generic.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/dm-generic.c 2020-04-18 01:52:26 UTC
(rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libdm/dm-generic.c 2020-04-18 02:12:27 UTC
(rev 75455)
@@ -170,24 +170,21 @@
* XXX - need a better way to check if using the same OGL server.
*/
if (dmp2 != DM_NULL)
- if (dmp1->i->dm_type != dmp2->i->dm_type ||
+ if (!BU_STR_EQUAL(dmp1->i->dm_name, dmp2->i->dm_name) ||
bu_vls_strcmp(&dmp1->i->dm_dName, &dmp2->i->dm_dName))
return BRLCAD_ERROR;
- switch (dmp1->i->dm_type) {
-#ifdef DM_OGL
-# if defined(HAVE_TK)
- case DM_TYPE_OGL:
- return ogl_share_dlist(dmp1, dmp2);
-# endif
+#if defined(DM_OGL) && defined(HAVE_TK)
+ if (BU_STR_EQUIV(dmp1->i->dm_name, "ogl")) {
+ return ogl_share_dlist(dmp1, dmp2);
+ }
#endif
#ifdef DM_WGL
- case DM_TYPE_WGL:
- return wgl_share_dlist(dmp1, dmp2);
+ if (BU_STR_EQUIV(dmp1->i->dm_name, "wgl")) {
+ return wgl_share_dlist(dmp1, dmp2);
+ }
#endif
- default:
- return BRLCAD_ERROR;
- }
+ return BRLCAD_ERROR;
}
struct bu_vls *
@@ -399,22 +396,18 @@
return;
}
- switch (dmp->i->dm_type) {
-#ifdef DM_OGL
-# if defined(HAVE_TK)
- case DM_TYPE_OGL:
- ogl_fogHint(dmp, fastfog);
- return;
-# endif
+#if defined(DM_OGL) && defined(HAVE_TK)
+ if (BU_STR_EQUIV(dmp->i->dm_name, "ogl")) {
+ ogl_fogHint(dmp, fastfog);
+ return;
+ }
#endif
#ifdef DM_WGL
- case DM_TYPE_WGL:
- wgl_fogHint(dmp, fastfog);
- return;
+ if (BU_STR_EQUIV(dmp->i->dm_name, "wgl")) {
+ wgl_fogHint(dmp, fastfog);
+ return;
+ }
#endif
- default:
- return;
- }
}
int
@@ -567,11 +560,11 @@
}
-int
+const char *
dm_get_type(struct dm *dmp)
{
if (UNLIKELY(!dmp)) return 0;
- return dmp->i->dm_type;
+ return dmp->i->dm_name;
}
int
Modified: brlcad/branches/dm-fb-merge/src/libdm/glx/dm-ogl.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/glx/dm-ogl.c 2020-04-18 01:52:26 UTC
(rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libdm/glx/dm-ogl.c 2020-04-18 02:12:27 UTC
(rev 75455)
@@ -2332,25 +2332,20 @@
HIDDEN int
ogl_getDisplayImage(struct dm *dmp, unsigned char **image)
{
- if (dmp->i->dm_type == DM_TYPE_WGL || dmp->i->dm_type == DM_TYPE_OGL) {
- unsigned char *idata;
- int width;
- int height;
+ unsigned char *idata;
+ int width;
+ int height;
- width = dmp->i->dm_width;
- height = dmp->i->dm_height;
+ width = dmp->i->dm_width;
+ height = dmp->i->dm_height;
- idata = (unsigned char*)bu_calloc(height * width * 3, sizeof(unsigned
char), "rgb data");
+ idata = (unsigned char*)bu_calloc(height * width * 3, sizeof(unsigned
char), "rgb data");
- glReadBuffer(GL_FRONT);
- glPixelStorei(GL_PACK_ALIGNMENT, 1);
- glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, idata);
- *image = idata;
- flip_display_image_vertically(*image, width, height);
- } else {
- bu_log("ogl_getDisplayImage: Display type not set as OGL or WGL\n");
- return BRLCAD_ERROR;
- }
+ glReadBuffer(GL_FRONT);
+ glPixelStorei(GL_PACK_ALIGNMENT, 1);
+ glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, idata);
+ *image = idata;
+ flip_display_image_vertically(*image, width, height);
return BRLCAD_OK; /* caller will need to bu_free(idata, "image data"); */
}
@@ -2957,7 +2952,6 @@
1, /* bound flag */
"ogl",
"X Windows with OpenGL graphics",
- DM_TYPE_OGL,
1,
0,
0,
Modified: brlcad/branches/dm-fb-merge/src/libdm/include/calltable.h
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/include/calltable.h 2020-04-18
01:52:26 UTC (rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libdm/include/calltable.h 2020-04-18
02:12:27 UTC (rev 75455)
@@ -107,7 +107,6 @@
int dm_boundFlag;
const char *dm_name; /**< @brief short name of device */
const char *dm_lname; /**< @brief long name of device */
- int dm_type; /**< @brief display manager type */
int dm_top; /**< @brief !0 means toplevel window */
int dm_width;
int dm_height;
Modified: brlcad/branches/dm-fb-merge/src/libdm/null/dm-Null.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/null/dm-Null.c 2020-04-18
01:52:26 UTC (rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libdm/null/dm-Null.c 2020-04-18
02:12:27 UTC (rev 75455)
@@ -337,7 +337,6 @@
1, /* bound flag */
"nu",
"Null Display",
- DM_TYPE_NULL,
0,/* top */
0,/* width */
0,/* height */
Modified: brlcad/branches/dm-fb-merge/src/libdm/osgl/dm-osgl.cpp
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/osgl/dm-osgl.cpp 2020-04-18
01:52:26 UTC (rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libdm/osgl/dm-osgl.cpp 2020-04-18
02:12:27 UTC (rev 75455)
@@ -2591,7 +2591,6 @@
1, /* bound flag */
"osgl",
"OpenGL graphics via OpenSceneGraph",
- DM_TYPE_OSGL,
1,
0,
0,
Modified: brlcad/branches/dm-fb-merge/src/libdm/plot/dm-plot.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/plot/dm-plot.c 2020-04-18
01:52:26 UTC (rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libdm/plot/dm-plot.c 2020-04-18
02:12:27 UTC (rev 75455)
@@ -582,7 +582,6 @@
1, /* bound flag */
"plot",
"Screen to UNIX-Plot",
- DM_TYPE_PLOT,
0,
0,
0,
Modified: brlcad/branches/dm-fb-merge/src/libdm/postscript/dm-ps.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/postscript/dm-ps.c 2020-04-18
01:52:26 UTC (rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libdm/postscript/dm-ps.c 2020-04-18
02:12:27 UTC (rev 75455)
@@ -552,7 +552,6 @@
1, /* bound flag */
"ps",
"Screen to PostScript",
- DM_TYPE_PS,
0,
0,
0,
Modified: brlcad/branches/dm-fb-merge/src/libdm/qt/dm-qt.cpp
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/qt/dm-qt.cpp 2020-04-18 01:52:26 UTC
(rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libdm/qt/dm-qt.cpp 2020-04-18 02:12:27 UTC
(rev 75455)
@@ -1098,7 +1098,6 @@
1, /* bound flag */
"qt",
"Qt Display",
- DM_TYPE_QT,
1,
0,/* width */
0,/* height */
Modified: brlcad/branches/dm-fb-merge/src/libdm/tk/dm-tk.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/tk/dm-tk.c 2020-04-18 01:52:26 UTC
(rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libdm/tk/dm-tk.c 2020-04-18 02:12:27 UTC
(rev 75455)
@@ -961,7 +961,6 @@
1, /* bound flag */
"Tk",
"Tk Abstraction Layer",
- DM_TYPE_TK,
1,
0,
0,
Modified: brlcad/branches/dm-fb-merge/src/libdm/txt/dm-txt.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/txt/dm-txt.c 2020-04-18 01:52:26 UTC
(rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libdm/txt/dm-txt.c 2020-04-18 02:12:27 UTC
(rev 75455)
@@ -393,7 +393,6 @@
1, /* bound flag */
"txt",
"Text Display",
- DM_TYPE_TXT,
0,/* top */
0,/* width */
0,/* height */
Modified: brlcad/branches/dm-fb-merge/src/libdm/wgl/dm-wgl.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/wgl/dm-wgl.c 2020-04-18 01:52:26 UTC
(rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libdm/wgl/dm-wgl.c 2020-04-18 02:12:27 UTC
(rev 75455)
@@ -2239,7 +2239,6 @@
1, /* bound flag */
"wgl",
"Windows with OpenGL graphics",
- DM_TYPE_WGL,
1,
0,
0,
Modified: brlcad/branches/dm-fb-merge/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libtclcad/tclcad_obj.c 2020-04-18
01:52:26 UTC (rev 75454)
+++ brlcad/branches/dm-fb-merge/src/libtclcad/tclcad_obj.c 2020-04-18
02:12:27 UTC (rev 75455)
@@ -11493,7 +11493,7 @@
}
if (BU_STR_EQUAL(argv[2], "nu"))
- type = DM_TYPE_NULL;
+ type = argv[2];
/* find display manager type */
if (argv[2][0] == 'X' || argv[2][0] == 'x')
@@ -11882,7 +11882,7 @@
return GED_ERROR;
}
- if (dm_get_type(gdvp->gdv_dmp) != DM_TYPE_WGL &&
dm_get_type(gdvp->gdv_dmp) != DM_TYPE_OGL) {
+ if (!BU_STR_EQUIV(dm_get_type(gdvp->gdv_dmp), "wgl") &&
!BU_STR_EQUIV(dm_get_type(gdvp->gdv_dmp), "ogl")) {
bu_vls_printf(gedp->ged_result_str, "%s: not yet supported for this
display manager (i.e. must be OpenGL based)", argv[0]);
return GED_OK;
}
@@ -11972,7 +11972,7 @@
return GED_ERROR;
}
- if (dm_get_type(gdvp->gdv_dmp) != DM_TYPE_WGL &&
dm_get_type(gdvp->gdv_dmp) != DM_TYPE_OGL) {
+ if (!BU_STR_EQUIV(dm_get_type(gdvp->gdv_dmp), "wgl") &&
!BU_STR_EQUIV(dm_get_type(gdvp->gdv_dmp), "ogl")) {
bu_vls_printf(gedp->ged_result_str, "%s: not yet supported for this
display manager (i.e. must be OpenGL based)", argv[0]);
return GED_OK;
}
Modified: brlcad/branches/dm-fb-merge/src/util/plot3-dm.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/util/plot3-dm.c 2020-04-18 01:52:26 UTC
(rev 75454)
+++ brlcad/branches/dm-fb-merge/src/util/plot3-dm.c 2020-04-18 02:12:27 UTC
(rev 75455)
@@ -82,7 +82,9 @@
struct plot_list HeadPlot;
-int dm_type = DM_TYPE_X;
+static const char *Xtype = "X";
+static const char *Otype = "ogl";
+const char *dm_type = "X";
/*
@@ -135,12 +137,12 @@
switch (*bu_optarg) {
case 'o':
case 'O':
- dm_type = DM_TYPE_OGL;
+ dm_type = Otype;
break;
case 'x':
case 'X':
default:
- dm_type = DM_TYPE_X;
+ dm_type = Xtype;
break;
}
break;
@@ -1052,7 +1054,7 @@
return TCL_ERROR;
}
- Tk_CreateGenericHandler(X_doEvent, (ClientData)DM_TYPE_X);
+ Tk_CreateGenericHandler(X_doEvent, (ClientData)Xtype);
dm_set_win_bounds(dmp, windowbounds);
return TCL_OK;
@@ -1078,7 +1080,7 @@
return TCL_ERROR;
}
- Tk_CreateGenericHandler(X_doEvent, (ClientData)DM_TYPE_OGL);
+ Tk_CreateGenericHandler(X_doEvent, (ClientData)Otype);
dm_set_win_bounds(dmp, windowbounds);
return TCL_OK;
@@ -1096,13 +1098,7 @@
/* libdm uses interp */
INTERP = _interp;
- switch (dm_type) {
- case DM_TYPE_OGL:
- case DM_TYPE_X:
- default:
- cmd_hook = X_dm;
- break;
- }
+ cmd_hook = X_dm;
/* Evaluates init.tcl */
if (Tcl_Init(_interp) == TCL_ERROR)
@@ -1133,13 +1129,10 @@
cmd_setup(_interp, cmdtab);
/* open display manager */
- switch (dm_type) {
- case DM_TYPE_OGL:
- return Ogl_dmInit();
- case DM_TYPE_X:
- default:
- return X_dmInit();
+ if (BU_STR_EQUIV(dm_type, "ogl")) {
+ return Ogl_dmInit();
}
+ return X_dmInit();
}
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