Revision: 75333
          http://sourceforge.net/p/brlcad/code/75333
Author:   starseeker
Date:     2020-04-10 13:38:50 +0000 (Fri, 10 Apr 2020)
Log Message:
-----------
Make dm_xvars.h private

Modified Paths:
--------------
    brlcad/trunk/include/dm/CMakeLists.txt
    brlcad/trunk/include/dm.h
    brlcad/trunk/src/libdm/CMakeLists.txt
    brlcad/trunk/src/libdm/color.c
    brlcad/trunk/src/libdm/dm-X.c
    brlcad/trunk/src/libdm/dm-generic.c
    brlcad/trunk/src/libdm/dm-ogl.c
    brlcad/trunk/src/libdm/dm-osgl.cpp
    brlcad/trunk/src/libdm/dm-qt.cpp
    brlcad/trunk/src/libdm/dm-tk.c
    brlcad/trunk/src/libdm/dm-wgl.c
    brlcad/trunk/src/libdm/dm_obj.c
    brlcad/trunk/src/libtclcad/tclcad_obj.c
    brlcad/trunk/src/mged/dm-generic.c
    brlcad/trunk/src/mged/doevent.c
    brlcad/trunk/src/mged/mged.h
    brlcad/trunk/src/mged/mged_dm.h

Added Paths:
-----------
    brlcad/trunk/src/libdm/dm_xvars.h

Removed Paths:
-------------
    brlcad/trunk/include/dm/dm_xvars.h

Modified: brlcad/trunk/include/dm/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/dm/CMakeLists.txt      2020-04-10 12:29:15 UTC (rev 
75332)
+++ brlcad/trunk/include/dm/CMakeLists.txt      2020-04-10 13:38:50 UTC (rev 
75333)
@@ -1,7 +1,6 @@
 set(dm_headers
   bview.h
   defines.h
-  dm_xvars.h
   )
 BRLCAD_MANAGE_FILES(dm_headers ${INCLUDE_DIR}/brlcad/dm)
 

Deleted: brlcad/trunk/include/dm/dm_xvars.h
===================================================================
--- brlcad/trunk/include/dm/dm_xvars.h  2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/include/dm/dm_xvars.h  2020-04-10 13:38:50 UTC (rev 75333)
@@ -1,92 +0,0 @@
-/*                          D M _ X V A R S . H
- * BRL-CAD
- *
- * Copyright (c) 1993-2020 United States Government as represented by
- * the U.S. Army Research Laboratory.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this file; see the file named COPYING for more
- * information.
- */
-/** @addtogroup libdm */
-/** @{ */
-/** @file dm_xvars.h
- *
- */
-#ifndef DM_DM_XVARS_H
-#define DM_DM_XVARS_H
-
-#include "common.h"
-
-#ifdef HAVE_X11_XLIB_H
-#  include <X11/Xlib.h>
-#  include <X11/Xutil.h>
-#endif
-
-#ifdef HAVE_TK
-#  include "tk.h"
-#  define HAVE_X11_TYPES 1
-#endif
-#ifdef IF_WGL
-#include "tkWinInt.h"
-#endif
-
-#if !defined(HAVE_TK) && !defined(TK_WINDOW_TYPEDEF)
-typedef void *Tk_Window;
-#  define TK_WINDOW_TYPEDEF 1
-#endif
-
-#if !defined(HAVE_X11_TYPES) && !defined(HAVE_X11_XLIB_H)
-typedef long Display;
-typedef long Window;
-typedef long Colormap;
-#endif
-
-#define XVARS_MV_O(_m) offsetof(struct dm_xvars, _m)
-
-#define INIT_XCOLOR(c) memset((c), 0, sizeof(XColor))
-
-/* FIXME: this structure really should not be variable-width and it
- * does not allow multiple interfaces to be simultaneously compiled.
- */
-struct dm_xvars {
-    Display *dpy;
-    Window win;
-    Tk_Window top;
-    Tk_Window xtkwin;
-    int depth;
-    Colormap cmap;
-#ifdef IF_WGL
-    PIXELFORMATDESCRIPTOR *vip;
-    HFONT fontstruct;
-    HDC  hdc;      /* device context of device that OpenGL calls are to be 
drawn on */
-#endif
-#if defined(DM_X) || defined (DM_OGL) || defined (DM_RTGL)
-    XVisualInfo *vip;
-    XFontStruct *fontstruct;
-#endif
-    int devmotionnotify;
-    int devbuttonpress;
-    int devbuttonrelease;
-};
-
-#endif /* DM_DM_XVARS_H */
-/** @} */
-/*
- * Local Variables:
- * mode: C
- * tab-width: 8
- * indent-tabs-mode: t
- * c-file-style: "stroustrup"
- * End:
- * ex: shiftwidth=4 tabstop=8
- */

Modified: brlcad/trunk/include/dm.h
===================================================================
--- brlcad/trunk/include/dm.h   2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/include/dm.h   2020-04-10 13:38:50 UTC (rev 75333)
@@ -332,9 +332,10 @@
 DM_EXPORT extern int dm_get_height(dm *dmp);
 DM_EXPORT extern void dm_set_width(dm *dmp, int width);
 DM_EXPORT extern void dm_set_height(dm *dmp, int height);
+DM_EXPORT extern void dm_geometry_request(dm *dmp, int width, int height);
+DM_EXPORT extern void dm_internal_var(struct bu_vls *result, dm *dmp, const 
char *key); // ick
 DM_EXPORT extern fastf_t dm_get_aspect(dm *dmp);
 DM_EXPORT extern int dm_get_type(dm *dmp);
-DM_EXPORT void *dm_get_xvars(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(dm *dmp);
 DM_EXPORT extern void dm_set_id(dm *dmp, unsigned long new_id);
@@ -361,8 +362,6 @@
 DM_EXPORT extern int dm_get_light_flag(dm *dmp);
 DM_EXPORT extern void dm_set_light_flag(dm *dmp, int size);
 DM_EXPORT extern int dm_set_light(dm *dmp, int light);
-DM_EXPORT extern void *dm_get_public_vars(dm *dmp);
-DM_EXPORT extern void *dm_get_private_vars(dm *dmp);
 DM_EXPORT extern int dm_get_transparency(dm *dmp);
 DM_EXPORT extern int dm_set_transparency(dm *dmp, int transparency);
 DM_EXPORT extern int dm_get_zbuffer(dm *dmp);

Modified: brlcad/trunk/src/libdm/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/libdm/CMakeLists.txt       2020-04-10 12:29:15 UTC (rev 
75332)
+++ brlcad/trunk/src/libdm/CMakeLists.txt       2020-04-10 13:38:50 UTC (rev 
75333)
@@ -150,6 +150,7 @@
   dm-wgl.c
   dm-wgl.h
   dm_private.h
+  dm_xvars.h
   fontstash/LICENSE.fontstash
   fontstash/README.md
   fontstash/fontstash.h

Modified: brlcad/trunk/src/libdm/color.c
===================================================================
--- brlcad/trunk/src/libdm/color.c      2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/libdm/color.c      2020-04-10 13:38:50 UTC (rev 75333)
@@ -34,7 +34,7 @@
 #include "vmath.h"
 
 #include "bu/malloc.h"
-#include "dm/dm_xvars.h"
+#include "./dm_xvars.h"
 
 
 /* Return the allocated pixel value that most closely represents

Modified: brlcad/trunk/src/libdm/dm-X.c
===================================================================
--- brlcad/trunk/src/libdm/dm-X.c       2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/libdm/dm-X.c       2020-04-10 13:38:50 UTC (rev 75333)
@@ -61,7 +61,7 @@
 #include "dm.h"
 #include "dm-X.h"
 #include "dm-Null.h"
-#include "dm/dm_xvars.h"
+#include "./dm_xvars.h"
 #include "fb.h"
 #include "fb/fb_X.h"
 

Modified: brlcad/trunk/src/libdm/dm-generic.c
===================================================================
--- brlcad/trunk/src/libdm/dm-generic.c 2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/libdm/dm-generic.c 2020-04-10 13:38:50 UTC (rev 75333)
@@ -28,6 +28,10 @@
 #include <string.h>
 
 #include "tcl.h"
+#ifdef HAVE_TK
+#  include "tk.h"
+#  include "dm_xvars.h"
+#endif
 
 #include "vmath.h"
 #include "dm.h"
@@ -199,6 +203,55 @@
     }
 }
 
+/* TODO - these aren't truly generic, which suggest they need callbacks, but
+ * put them here for now since it's better than what we were doing (exposing
+ * dm_xvars.h as public API...) */
+
+void
+#if (defined HAVE_TK)
+dm_geometry_request(dm *dmp, int width, int height)
+#else
+dm_geometry_request(dm *dmp, int UNUSED(width), int UNUSED(height))
+#endif
+{
+    if (!dmp) return;
+#if (defined HAVE_TK)
+    Tk_GeometryRequest(((struct dm_xvars *)dmp->dm_vars.pub_vars)->xtkwin, 
width, height);
+#endif
+}
+
+struct bu_structparse dm_xvars_vparse[] = {
+    {"%x",      1,      "dpy",                  XVARS_MV_O(dpy),        
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
+    {"%x",      1,      "win",                  XVARS_MV_O(win),        
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
+    {"%x",      1,      "top",                  XVARS_MV_O(top),        
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
+    {"%x",      1,      "tkwin",                XVARS_MV_O(xtkwin),     
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
+    {"%d",      1,      "depth",                XVARS_MV_O(depth),      
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
+    {"%x",      1,      "cmap",                 XVARS_MV_O(cmap),       
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
+#if defined(DM_X) || defined (DM_OGL) || defined (DM_WGL)
+    {"%x",      1,      "vip",                  XVARS_MV_O(vip),        
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
+    {"%x",      1,      "fontstruct",           XVARS_MV_O(fontstruct), 
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
+#endif
+    {"%d",      1,      "devmotionnotify",      XVARS_MV_O(devmotionnotify),   
 BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
+    {"%d",      1,      "devbuttonpress",       XVARS_MV_O(devbuttonpress),    
 BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
+    {"%d",      1,      "devbuttonrelease",     XVARS_MV_O(devbuttonrelease),  
 BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
+    {"",        0,      (char *)0,              0,                      
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL }
+};
+
+void
+dm_internal_var(struct bu_vls *result, dm *dmp, const char *key)
+{
+    if (!dmp || !result) return;
+    if (!key) {
+       // Print all current vars
+       bu_vls_struct_print2(result, "dm internal X variables", 
dm_xvars_vparse, (const char *)dmp->dm_vars.pub_vars);
+       return;
+    }
+    // Print specific var
+    bu_vls_struct_item_named(result, dm_xvars_vparse, key, (const char 
*)dmp->dm_vars.pub_vars, ',');
+}
+
+/* Properly generic function */
+
 fastf_t
 dm_Xx2Normal(dm *dmp, int x)
 {
@@ -304,13 +357,6 @@
     return dmp->fbp;
 }
 
-void *
-dm_get_xvars(dm *dmp)
-{
-    if (UNLIKELY(!dmp)) return NULL;
-    return (void *)(dmp->dm_vars.pub_vars);
-}
-
 const char *
 dm_get_dm_name(dm *dmp)
 {
@@ -544,20 +590,6 @@
     return dmp->dm_setLight(dmp, light);
 }
 
-void *
-dm_get_public_vars(dm *dmp)
-{
-    if (UNLIKELY(!dmp)) return NULL;
-    return dmp->dm_vars.pub_vars;
-}
-
-void *
-dm_get_private_vars(dm *dmp)
-{
-    if (UNLIKELY(!dmp)) return NULL;
-    return dmp->dm_vars.priv_vars;
-}
-
 int
 dm_get_transparency(dm *dmp)
 {

Modified: brlcad/trunk/src/libdm/dm-ogl.c
===================================================================
--- brlcad/trunk/src/libdm/dm-ogl.c     2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/libdm/dm-ogl.c     2020-04-10 13:38:50 UTC (rev 75333)
@@ -78,7 +78,7 @@
 #include "dm.h"
 #include "dm-ogl.h"
 #include "dm-Null.h"
-#include "dm/dm_xvars.h"
+#include "./dm_xvars.h"
 #include "fb.h"
 #include "fb/fb_ogl.h"
 #include "rt/solid.h"

Modified: brlcad/trunk/src/libdm/dm-osgl.cpp
===================================================================
--- brlcad/trunk/src/libdm/dm-osgl.cpp  2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/libdm/dm-osgl.cpp  2020-04-10 13:38:50 UTC (rev 75333)
@@ -53,7 +53,7 @@
 #include "raytrace.h"
 #include "dm.h"
 #include "dm-Null.h"
-#include "dm/dm_xvars.h"
+#include "./dm_xvars.h"
 #include "fb.h"
 #include "rt/solid.h"
 #include "./dm_private.h"

Modified: brlcad/trunk/src/libdm/dm-qt.cpp
===================================================================
--- brlcad/trunk/src/libdm/dm-qt.cpp    2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/libdm/dm-qt.cpp    2020-04-10 13:38:50 UTC (rev 75333)
@@ -38,7 +38,7 @@
 #include "bu/parse.h"
 #include "dm.h"
 #include "dm_private.h"
-#include "dm/dm_xvars.h"
+#include "./dm_xvars.h"
 #include "dm-Null.h"
 #include "fb/fb_qt.h"
 

Modified: brlcad/trunk/src/libdm/dm-tk.c
===================================================================
--- brlcad/trunk/src/libdm/dm-tk.c      2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/libdm/dm-tk.c      2020-04-10 13:38:50 UTC (rev 75333)
@@ -62,7 +62,7 @@
 #include "dm-tk.h"
 #include "dm-X.h"
 #include "dm-Null.h"
-#include "dm/dm_xvars.h"
+#include "./dm_xvars.h"
 #include "dm_private.h"
 #include "rt/solid.h"
 

Modified: brlcad/trunk/src/libdm/dm-wgl.c
===================================================================
--- brlcad/trunk/src/libdm/dm-wgl.c     2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/libdm/dm-wgl.c     2020-04-10 13:38:50 UTC (rev 75333)
@@ -44,7 +44,7 @@
 #include "dm.h"
 #include "dm-Null.h"
 #include "dm-wgl.h"
-#include "dm/dm_xvars.h"
+#include "./dm_xvars.h"
 #include "fb.h"
 #include "fb/fb_wgl.h"
 #include "rt/solid.h"

Modified: brlcad/trunk/src/libdm/dm_obj.c
===================================================================
--- brlcad/trunk/src/libdm/dm_obj.c     2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/libdm/dm_obj.c     2020-04-10 13:38:50 UTC (rev 75333)
@@ -47,24 +47,24 @@
 #include "dm_private.h"
 
 #ifdef DM_X
-#  include "dm/dm_xvars.h"
+#  include "./dm_xvars.h"
 #  include <X11/Xutil.h>
 #  include "dm-X.h"
 #endif /* DM_X */
 
 #ifdef DM_TK
-#  include "dm/dm_xvars.h"
+#  include "./dm_xvars.h"
 #  include "tk.h"
 #  include "dm-tk.h"
 #endif /* DM_TK */
 
 #ifdef DM_OGL
-#  include "dm/dm_xvars.h"
+#  include "./dm_xvars.h"
 #  include "dm-ogl.h"
 #endif /* DM_OGL */
 
 #ifdef DM_WGL
-#  include "dm/dm_xvars.h"
+#  include "./dm_xvars.h"
 #  include <tkwinport.h>
 #  include "dm-wgl.h"
 #endif /* DM_WGL */

Copied: brlcad/trunk/src/libdm/dm_xvars.h (from rev 75332, 
brlcad/trunk/include/dm/dm_xvars.h)
===================================================================
--- brlcad/trunk/src/libdm/dm_xvars.h                           (rev 0)
+++ brlcad/trunk/src/libdm/dm_xvars.h   2020-04-10 13:38:50 UTC (rev 75333)
@@ -0,0 +1,92 @@
+/*                          D M _ X V A R S . H
+ * BRL-CAD
+ *
+ * Copyright (c) 1993-2020 United States Government as represented by
+ * the U.S. Army Research Laboratory.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this file; see the file named COPYING for more
+ * information.
+ */
+/** @addtogroup libdm */
+/** @{ */
+/** @file dm_xvars.h
+ *
+ */
+#ifndef DM_DM_XVARS_H
+#define DM_DM_XVARS_H
+
+#include "common.h"
+
+#ifdef HAVE_X11_XLIB_H
+#  include <X11/Xlib.h>
+#  include <X11/Xutil.h>
+#endif
+
+#ifdef HAVE_TK
+#  include "tk.h"
+#  define HAVE_X11_TYPES 1
+#endif
+#ifdef IF_WGL
+#include "tkWinInt.h"
+#endif
+
+#if !defined(HAVE_TK) && !defined(TK_WINDOW_TYPEDEF)
+typedef void *Tk_Window;
+#  define TK_WINDOW_TYPEDEF 1
+#endif
+
+#if !defined(HAVE_X11_TYPES) && !defined(HAVE_X11_XLIB_H)
+typedef long Display;
+typedef long Window;
+typedef long Colormap;
+#endif
+
+#define XVARS_MV_O(_m) offsetof(struct dm_xvars, _m)
+
+#define INIT_XCOLOR(c) memset((c), 0, sizeof(XColor))
+
+/* FIXME: this structure really should not be variable-width and it
+ * does not allow multiple interfaces to be simultaneously compiled.
+ */
+struct dm_xvars {
+    Display *dpy;
+    Window win;
+    Tk_Window top;
+    Tk_Window xtkwin;
+    int depth;
+    Colormap cmap;
+#ifdef IF_WGL
+    PIXELFORMATDESCRIPTOR *vip;
+    HFONT fontstruct;
+    HDC  hdc;      /* device context of device that OpenGL calls are to be 
drawn on */
+#endif
+#if defined(DM_X) || defined (DM_OGL) || defined (DM_RTGL)
+    XVisualInfo *vip;
+    XFontStruct *fontstruct;
+#endif
+    int devmotionnotify;
+    int devbuttonpress;
+    int devbuttonrelease;
+};
+
+#endif /* DM_DM_XVARS_H */
+/** @} */
+/*
+ * Local Variables:
+ * mode: C
+ * tab-width: 8
+ * indent-tabs-mode: t
+ * c-file-style: "stroustrup"
+ * End:
+ * ex: shiftwidth=4 tabstop=8
+ */

Modified: brlcad/trunk/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/trunk/src/libtclcad/tclcad_obj.c     2020-04-10 12:29:15 UTC (rev 
75332)
+++ brlcad/trunk/src/libtclcad/tclcad_obj.c     2020-04-10 13:38:50 UTC (rev 
75333)
@@ -63,14 +63,11 @@
 #include "icv/crop.h"
 #include "fb.h"
 
-#include "dm/dm_xvars.h"
-
 #ifdef DM_X
 #  ifdef WITH_TK
 #    include "tk.h"
 #endif
 #  include <X11/Xutil.h>
-#  include "dm/dm_xvars.h"
 #endif /* DM_X */
 
 #ifdef DM_TK
@@ -77,7 +74,6 @@
 #  ifdef WITH_TK
 #    include "tk.h"
 #  endif
-#  include "dm/dm_xvars.h"
 #endif /* DM_TK */
 
 #ifdef DM_OGL
@@ -84,24 +80,11 @@
 #  include "fb/fb_ogl.h"
 #endif /* DM_OGL */
 
-#ifdef DM_OSG
-#  include "dm/dm_xvars.h"
-#endif /* DM_OSG */
-
-#ifdef DM_OSGL
-#  include "dm/dm_xvars.h"
-#endif /* DM_OSGL */
-
 #ifdef DM_WGL
 #  include <tkwinport.h>
 #  include "fb/fb_wgl.h"
-#  include "dm/dm_xvars.h"
 #endif /* DM_WGL */
 
-#ifdef DM_QT
-#  include "dm/dm_xvars.h"
-#endif /* DM_QT */
-
 /* Private headers */
 #include "tclcad_private.h"
 
@@ -14226,14 +14209,7 @@
        }
     }
 
-#if defined(DM_X) || defined(DM_TK) || defined(DM_OGL) || defined(DM_OSG) || 
defined(DM_OSGL) || defined(DM_WGL) || defined(DM_QT)
-#   if (defined HAVE_TK)
-    if (dm_get_public_vars(gdvp->gdv_dmp)) {
-       Tk_GeometryRequest(((struct dm_xvars 
*)(dm_get_public_vars(gdvp->gdv_dmp)))->xtkwin,
-                          width, height);
-    }
-#   endif
-#endif
+    dm_geometry_request(gdvp->gdv_dmp, width, height);
 
     return GED_OK;
 }

Modified: brlcad/trunk/src/mged/dm-generic.c
===================================================================
--- brlcad/trunk/src/mged/dm-generic.c  2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/mged/dm-generic.c  2020-04-10 13:38:50 UTC (rev 75333)
@@ -39,8 +39,6 @@
 #  include "tk.h"
 #endif
 
-#include "dm/dm_xvars.h"
-
 #include "vmath.h"
 #include "raytrace.h"
 #include "ged.h"
@@ -58,24 +56,6 @@
 extern void rb_set_dirty_flag();
 
 
-struct bu_structparse dm_xvars_vparse[] = {
-    {"%x",     1,      "dpy",                  XVARS_MV_O(dpy),        
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
-    {"%x",     1,      "win",                  XVARS_MV_O(win),        
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
-    {"%x",     1,      "top",                  XVARS_MV_O(top),        
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
-    {"%x",     1,      "tkwin",                XVARS_MV_O(xtkwin),     
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
-    {"%d",     1,      "depth",                XVARS_MV_O(depth),      
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
-    {"%x",     1,      "cmap",                 XVARS_MV_O(cmap),       
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
-#if defined(DM_X) || defined (DM_OGL) || defined (DM_WGL)
-    {"%x",     1,      "vip",                  XVARS_MV_O(vip),        
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
-    {"%x",     1,      "fontstruct",           XVARS_MV_O(fontstruct), 
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
-#endif
-    {"%d",     1,      "devmotionnotify",      XVARS_MV_O(devmotionnotify),    
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
-    {"%d",     1,      "devbuttonpress",       XVARS_MV_O(devbuttonpress),     
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
-    {"%d",     1,      "devbuttonrelease",     XVARS_MV_O(devbuttonrelease),   
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
-    {"",       0,      (char *)0,              0,                      
BU_STRUCTPARSE_FUNC_NULL, NULL, NULL }
-};
-
-
 int
 common_dm(int argc, const char *argv[])
 {
@@ -562,24 +542,15 @@
 
 #if defined(DM_X) || defined(DM_TK) || defined(DM_OGL) || defined(DM_WGL) || 
defined(DM_OSGL)
     if (BU_STR_EQUAL(argv[0], "getx")) {
+       struct bu_vls tmp_vls = BU_VLS_INIT_ZERO;
        if (argc == 1) {
-           struct bu_vls tmp_vls = BU_VLS_INIT_ZERO;
-
            /* Bare set command, print out current settings */
-           if(dm_get_xvars(DMP) != NULL) {
-               bu_vls_struct_print2(&tmp_vls, "dm internal X variables", 
dm_xvars_vparse,
-                       (const char *)dm_get_xvars(DMP));
-               Tcl_AppendResult(INTERP, bu_vls_addr(&tmp_vls), (char *)NULL);
-           }
-           bu_vls_free(&tmp_vls);
+           dm_internal_var(&tmp_vls, DMP, NULL);
        } else if (argc == 2) {
-           if(dm_get_xvars(DMP) != NULL) {
-               bu_vls_struct_item_named(&vls, dm_xvars_vparse, argv[1], (const 
char *)dm_get_xvars(DMP), COMMA);
-               Tcl_AppendResult(INTERP, bu_vls_addr(&vls), (char *)NULL);
-           }
-           bu_vls_free(&vls);
+           dm_internal_var(&tmp_vls, DMP, argv[1]);
        }
-
+       Tcl_AppendResult(INTERP, bu_vls_addr(&tmp_vls), (char *)NULL);
+       bu_vls_free(&tmp_vls);
        return TCL_OK;
     }
 #endif

Modified: brlcad/trunk/src/mged/doevent.c
===================================================================
--- brlcad/trunk/src/mged/doevent.c     2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/mged/doevent.c     2020-04-10 13:38:50 UTC (rev 75333)
@@ -49,7 +49,6 @@
 #include "vmath.h"
 #include "raytrace.h"
 #include "ged.h"
-#include "dm/dm_xvars.h"
 
 #include "./mged.h"
 #include "./mged_dm.h"

Modified: brlcad/trunk/src/mged/mged.h
===================================================================
--- brlcad/trunk/src/mged/mged.h        2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/mged/mged.h        2020-04-10 13:38:50 UTC (rev 75333)
@@ -63,6 +63,10 @@
 #include <time.h>
 
 #include "tcl.h"
+#ifdef HAVE_TK
+#  include "tk.h"
+#  define HAVE_X11_TYPES 1
+#endif
 #include "bu/parallel.h"
 #include "bu/list.h"
 #include "bu/str.h"

Modified: brlcad/trunk/src/mged/mged_dm.h
===================================================================
--- brlcad/trunk/src/mged/mged_dm.h     2020-04-10 12:29:15 UTC (rev 75332)
+++ brlcad/trunk/src/mged/mged_dm.h     2020-04-10 13:38:50 UTC (rev 75333)
@@ -29,7 +29,6 @@
 #include "common.h"
 
 #include "dm.h"        /* struct dm */
-#include "dm/dm_xvars.h"
 
 #include "pkg.h" /* struct pkg_conn */
 #include "ged.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

Reply via email to