Revision: 75305
          http://sourceforge.net/p/brlcad/code/75305
Author:   starseeker
Date:     2020-04-08 18:56:15 +0000 (Wed, 08 Apr 2020)
Log Message:
-----------
more context propagation

Modified Paths:
--------------
    brlcad/trunk/include/dm.h
    brlcad/trunk/src/libdm/dm-Null.c
    brlcad/trunk/src/libdm/dm-Null.h
    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-tk.c
    brlcad/trunk/src/libdm/dm-txt.c
    brlcad/trunk/src/libdm/dm-wgl.c
    brlcad/trunk/src/libdm/dm_private.h
    brlcad/trunk/src/libtclcad/dm_tcl.c
    brlcad/trunk/src/libtclcad/tclcad_obj.c
    brlcad/trunk/src/mged/attach.c
    brlcad/trunk/src/mged/doevent.c

Modified: brlcad/trunk/include/dm.h
===================================================================
--- brlcad/trunk/include/dm.h   2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/include/dm.h   2020-04-08 18:56:15 UTC (rev 75305)
@@ -397,7 +397,7 @@
 DM_EXPORT extern void dm_set_bound(dm *dmp, fastf_t val);
 DM_EXPORT extern int dm_get_stereo(dm *dmp);
 DM_EXPORT extern int dm_set_win_bounds(dm *dmp, fastf_t *w);
-DM_EXPORT extern int dm_configure_win(dm *dmp, int force);
+DM_EXPORT extern int dm_configure_win(dm *dmp, struct dm_context *context, int 
force);
 DM_EXPORT extern struct bu_vls *dm_get_pathname(dm *dmp);
 DM_EXPORT extern struct bu_vls *dm_get_dname(dm *dmp);
 DM_EXPORT extern struct bu_vls *dm_get_tkname(dm *dmp);

Modified: brlcad/trunk/src/libdm/dm-Null.c
===================================================================
--- brlcad/trunk/src/libdm/dm-Null.c    2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/src/libdm/dm-Null.c    2020-04-08 18:56:15 UTC (rev 75305)
@@ -168,7 +168,7 @@
 
 
 int
-null_configureWin(struct dm_internal *UNUSED(dmp), int UNUSED(force))
+null_configureWin(struct dm_internal *UNUSED(dmp), struct dm_context 
*UNUSED(context), int UNUSED(force))
 {
     return 0;
 }

Modified: brlcad/trunk/src/libdm/dm-Null.h
===================================================================
--- brlcad/trunk/src/libdm/dm-Null.h    2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/src/libdm/dm-Null.h    2020-04-08 18:56:15 UTC (rev 75305)
@@ -111,7 +111,7 @@
 
 
 DM_EXPORT extern int
-null_configureWin(dm *dmp, int force);
+null_configureWin(dm *dmp, struct dm_context *context, int force);
 
 
 DM_EXPORT extern int

Modified: brlcad/trunk/src/libdm/dm-X.c
===================================================================
--- brlcad/trunk/src/libdm/dm-X.c       2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/src/libdm/dm-X.c       2020-04-08 18:56:15 UTC (rev 75305)
@@ -158,7 +158,7 @@
 
 
 HIDDEN int
-X_configureWin_guts(struct dm_internal *dmp, int force)
+X_configureWin_guts(struct dm_internal *dmp, struct dm_context *context, int 
force)
 {
     XWindowAttributes xwa;
     XFontStruct *newfontstruct;
@@ -183,14 +183,9 @@
     }
 
 #ifdef HAVE_TK
-    Tk_FreePixmap(pubvars->dpy,
-                 privars->pix);
-    privars->pix =
-       Tk_GetPixmap(pubvars->dpy,
-                    DefaultRootWindow(pubvars->dpy),
-                    dmp->dm_width,
-                    dmp->dm_height,
-                    Tk_Depth(pubvars->xtkwin));
+    (*context->dm_free_pixmap)(dmp, pubvars->dpy, privars->pix);
+    privars->pix = (Pixmap)(*context->dm_get_pixmap)(dmp, pubvars->dpy, 
DefaultRootWindow(pubvars->dpy),
+                    pubvars->xtkwin, dmp->dm_width, dmp->dm_height);
 #endif
 
     /* First time through, load a font or quit */
@@ -737,7 +732,7 @@
 
     privars->xmat = &(privars->mod_mat[0]);
 
-    (void)X_configureWin_guts(dmp, 1);
+    (void)X_configureWin_guts(dmp, context, 1);
 
 #ifdef HAVE_TK
     (*context->dm_window_set_bg)(dmp, pubvars->xtkwin, privars->bg);
@@ -1423,10 +1418,10 @@
 
 
 HIDDEN int
-X_configureWin(struct dm_internal *dmp, int force)
+X_configureWin(struct dm_internal *dmp, struct dm_context *context, int force)
 {
     /* don't force */
-    return X_configureWin_guts(dmp, force);
+    return X_configureWin_guts(dmp, context, force);
 }
 
 

Modified: brlcad/trunk/src/libdm/dm-generic.c
===================================================================
--- brlcad/trunk/src/libdm/dm-generic.c 2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/src/libdm/dm-generic.c 2020-04-08 18:56:15 UTC (rev 75305)
@@ -543,10 +543,10 @@
     return dmp->dm_stereo;
 }
 int
-dm_configure_win(dm *dmp, int force)
+dm_configure_win(dm *dmp, struct dm_context *context, int force)
 {
     if (UNLIKELY(!dmp)) return 0;
-    return dmp->dm_configureWin(dmp, force);
+    return dmp->dm_configureWin(dmp, context, force);
 }
 
 struct bu_vls *

Modified: brlcad/trunk/src/libdm/dm-ogl.c
===================================================================
--- brlcad/trunk/src/libdm/dm-ogl.c     2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/src/libdm/dm-ogl.c     2020-04-08 18:56:15 UTC (rev 75305)
@@ -122,7 +122,7 @@
 HIDDEN int ogl_setBGColor(struct dm_internal *dmp, unsigned char r, unsigned 
char g, unsigned char b);
 HIDDEN int ogl_setLineAttr(struct dm_internal *dmp, int width, int style);
 HIDDEN int ogl_configureWin_guts(struct dm_internal *dmp, int force);
-HIDDEN int ogl_configureWin(struct dm_internal *dmp, int force);
+HIDDEN int ogl_configureWin(struct dm_internal *dmp, struct dm_context *, int 
force);
 HIDDEN int ogl_setLight(struct dm_internal *dmp, int lighting_on);
 HIDDEN int ogl_setTransparency(struct dm_internal *dmp, int transparency_on);
 HIDDEN int ogl_setDepthMask(struct dm_internal *dmp, int depthMask_on);
@@ -407,7 +407,7 @@
 
 
 HIDDEN int
-ogl_configureWin(struct dm_internal *dmp, int force)
+ogl_configureWin(struct dm_internal *dmp, struct dm_context *UNUSED(context), 
int force)
 {
     if (!glXMakeCurrent(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
                        ((struct dm_xvars *)dmp->dm_vars.pub_vars)->win,

Modified: brlcad/trunk/src/libdm/dm-tk.c
===================================================================
--- brlcad/trunk/src/libdm/dm-tk.c      2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/src/libdm/dm-tk.c      2020-04-08 18:56:15 UTC (rev 75305)
@@ -786,7 +786,7 @@
 
 
 HIDDEN int
-tk_configureWin(struct dm_internal *dmp, int force)
+tk_configureWin(struct dm_internal *dmp, struct dm_context *UNUSED(context), 
int force)
 {
     /* don't force */
     return tk_configureWin_guts(dmp, force);

Modified: brlcad/trunk/src/libdm/dm-txt.c
===================================================================
--- brlcad/trunk/src/libdm/dm-txt.c     2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/src/libdm/dm-txt.c     2020-04-08 18:56:15 UTC (rev 75305)
@@ -205,7 +205,7 @@
 
 
 HIDDEN int
-txt_configureWin(dm *UNUSED(dmp), int UNUSED(force))
+txt_configureWin(dm *UNUSED(dmp), struct dm_context *UNUSED(context), int 
UNUSED(force))
 {
     bu_log("configureWin called\n");
     return 0;

Modified: brlcad/trunk/src/libdm/dm-wgl.c
===================================================================
--- brlcad/trunk/src/libdm/dm-wgl.c     2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/src/libdm/dm-wgl.c     2020-04-08 18:56:15 UTC (rev 75305)
@@ -1991,7 +1991,7 @@
 
 
 HIDDEN int
-wgl_configureWin(dm *dmp, int force)
+wgl_configureWin(dm *dmp, struct dm_context *UNUSED(context), int force)
 {
     if (!wglMakeCurrent(((struct dm_xvars *)dmp->dm_vars.pub_vars)->hdc,
                        ((struct wgl_vars *)dmp->dm_vars.priv_vars)->glxc)) {

Modified: brlcad/trunk/src/libdm/dm_private.h
===================================================================
--- brlcad/trunk/src/libdm/dm_private.h 2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/src/libdm/dm_private.h 2020-04-08 18:56:15 UTC (rev 75305)
@@ -82,7 +82,7 @@
     int (*dm_setFGColor)(struct dm_internal *dmp, unsigned char r, unsigned 
char g, unsigned char b, int strict, fastf_t transparency);
     int (*dm_setBGColor)(struct dm_internal *, unsigned char, unsigned char, 
unsigned char);
     int (*dm_setLineAttr)(struct dm_internal *dmp, int width, int style);      
/**< @brief currently - linewidth, (not-)dashed */
-    int (*dm_configureWin)(struct dm_internal *dmp, int force);
+    int (*dm_configureWin)(struct dm_internal *dmp, struct dm_context 
*context, int force);
     int (*dm_setWinBounds)(struct dm_internal *dmp, fastf_t *w);
     int (*dm_setLight)(struct dm_internal *dmp, int light_on);
     int (*dm_setTransparency)(struct dm_internal *dmp, int transparency_on);

Modified: brlcad/trunk/src/libtclcad/dm_tcl.c
===================================================================
--- brlcad/trunk/src/libtclcad/dm_tcl.c 2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/src/libtclcad/dm_tcl.c 2020-04-08 18:56:15 UTC (rev 75305)
@@ -1626,7 +1626,7 @@
     }
 
     /* configure the display manager window */
-    status = dm_configure_win(dmop->dmo_dmp, 0);
+    status = dm_configure_win(dmop->dmo_dmp, &dm_tk_context, 0);
 
 #ifdef USE_FBSERV
     /* configure the framebuffer window */

Modified: brlcad/trunk/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/trunk/src/libtclcad/tclcad_obj.c     2020-04-08 18:41:51 UTC (rev 
75304)
+++ brlcad/trunk/src/libtclcad/tclcad_obj.c     2020-04-08 18:56:15 UTC (rev 
75305)
@@ -2519,7 +2519,7 @@
     }
 
     /* configure the display manager window */
-    status = dm_configure_win(gdvp->gdv_dmp, 0);
+    status = dm_configure_win(gdvp->gdv_dmp, &dm_tk_context, 0);
 
     /* configure the framebuffer window */
     if (gdvp->gdv_fbs.fbs_fbp != FB_NULL)
@@ -6446,7 +6446,7 @@
 
     if (DM_VALID_FONT_SIZE(fontsize) || fontsize == 0) {
        dm_set_fontsize(gdvp->gdv_dmp, fontsize);
-       (void)dm_configure_win(gdvp->gdv_dmp, 1);
+       (void)dm_configure_win(gdvp->gdv_dmp, &dm_tk_context, 1);
        to_refresh_view(gdvp);
        return GED_OK;
     }

Modified: brlcad/trunk/src/mged/attach.c
===================================================================
--- brlcad/trunk/src/mged/attach.c      2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/src/mged/attach.c      2020-04-08 18:56:15 UTC (rev 75305)
@@ -284,7 +284,7 @@
 #ifdef HAVE_TK
     Tk_CreateGenericHandler(doEvent, (ClientData)NULL);
 #endif
-    (void)dm_configure_win(DMP, 0);
+    (void)dm_configure_win(DMP, &dm_tk_context, 0);
 
     if (dm_get_pathname(DMP)) {
        bu_vls_printf(&vls, "mged_bind_dm %s", 
bu_vls_addr(dm_get_pathname(DMP)));

Modified: brlcad/trunk/src/mged/doevent.c
===================================================================
--- brlcad/trunk/src/mged/doevent.c     2020-04-08 18:41:51 UTC (rev 75304)
+++ brlcad/trunk/src/mged/doevent.c     2020-04-08 18:56:15 UTC (rev 75305)
@@ -49,6 +49,7 @@
 #include "vmath.h"
 #include "raytrace.h"
 #include "ged.h"
+#include "tclcad.h"
 #include "dm/dm_xvars.h"
 
 #include "./mged.h"
@@ -148,7 +149,7 @@
     if (eventPtr->type == ConfigureNotify) {
        XConfigureEvent *conf = (XConfigureEvent *)eventPtr;
 
-       dm_configure_win(DMP, 0);
+       dm_configure_win(DMP, &dm_tk_context, 0);
        rect_image2view();
        dirty = 1;
 

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