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

Reply via email to