Revision: 76581
          http://sourceforge.net/p/brlcad/code/76581
Author:   starseeker
Date:     2020-07-29 19:38:10 +0000 (Wed, 29 Jul 2020)
Log Message:
-----------
Move fbs into tclcad_view_data

Modified Paths:
--------------
    brlcad/branches/bioh/include/tclcad.h
    brlcad/branches/bioh/src/libtclcad/fb.c
    brlcad/branches/bioh/src/libtclcad/tclcad_obj.c
    brlcad/branches/bioh/src/libtclcad/view/refresh.c

Modified: brlcad/branches/bioh/include/tclcad.h
===================================================================
--- brlcad/branches/bioh/include/tclcad.h       2020-07-29 19:22:14 UTC (rev 
76580)
+++ brlcad/branches/bioh/include/tclcad.h       2020-07-29 19:38:10 UTC (rev 
76581)
@@ -135,6 +135,7 @@
 struct tclcad_view_data {
     struct bu_vls              gdv_edit_motion_delta_callback;
     struct bu_vls              gdv_callback;
+    struct fbserv_obj          gdv_fbs;
 };
 
 struct ged_dm_view {
@@ -141,7 +142,6 @@
     struct bu_list             l;
     struct bview               *gdv_view;
     struct dm                  *gdv_dmp;
-    struct fbserv_obj          gdv_fbs;
     struct ged_obj             *gdv_gop;
     void                        *gdv_data;
 };

Modified: brlcad/branches/bioh/src/libtclcad/fb.c
===================================================================
--- brlcad/branches/bioh/src/libtclcad/fb.c     2020-07-29 19:22:14 UTC (rev 
76580)
+++ brlcad/branches/bioh/src/libtclcad/fb.c     2020-07-29 19:38:10 UTC (rev 
76581)
@@ -917,12 +917,13 @@
 int
 to_close_fbs(struct ged_dm_view *gdvp)
 {
-    if (gdvp->gdv_fbs.fbs_fbp == FB_NULL)
+    struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+    if (tvd->gdv_fbs.fbs_fbp == FB_NULL)
        return TCL_OK;
 
-    fb_flush(gdvp->gdv_fbs.fbs_fbp);
-    fb_close_existing(gdvp->gdv_fbs.fbs_fbp);
-    gdvp->gdv_fbs.fbs_fbp = FB_NULL;
+    fb_flush(tvd->gdv_fbs.fbs_fbp);
+    fb_close_existing(tvd->gdv_fbs.fbs_fbp);
+    tvd->gdv_fbs.fbs_fbp = FB_NULL;
 
     return TCL_OK;
 }
@@ -935,12 +936,13 @@
 to_open_fbs(struct ged_dm_view *gdvp, Tcl_Interp *interp)
 {
     /* already open */
-    if (gdvp->gdv_fbs.fbs_fbp != FB_NULL)
+    struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+    if (tvd->gdv_fbs.fbs_fbp != FB_NULL)
        return TCL_OK;
 
-    gdvp->gdv_fbs.fbs_fbp = dm_get_fb(gdvp->gdv_dmp);
+    tvd->gdv_fbs.fbs_fbp = dm_get_fb(gdvp->gdv_dmp);
 
-    if (gdvp->gdv_fbs.fbs_fbp == FB_NULL) {
+    if (tvd->gdv_fbs.fbs_fbp == FB_NULL) {
        Tcl_Obj *obj;
 
        obj = Tcl_GetObjResult(interp);
@@ -995,7 +997,8 @@
 
     /* Get fb mode */
     if (argc == 2) {
-       bu_vls_printf(gedp->ged_result_str, "%d", gdvp->gdv_fbs.fbs_mode);
+       struct tclcad_view_data *tvd = (struct tclcad_view_data 
*)gdvp->gdv_data;
+       bu_vls_printf(gedp->ged_result_str, "%d", tvd->gdv_fbs.fbs_mode);
        return GED_OK;
     }
 
@@ -1010,7 +1013,10 @@
     else if (TCLCAD_OBJ_FB_MODE_OVERLAY < mode)
        mode = TCLCAD_OBJ_FB_MODE_OVERLAY;
 
-    gdvp->gdv_fbs.fbs_mode = mode;
+    {
+       struct tclcad_view_data *tvd = (struct tclcad_view_data 
*)gdvp->gdv_data;
+       tvd->gdv_fbs.fbs_mode = mode;
+    }
     to_refresh_view(gdvp);
 
     return GED_OK;
@@ -1051,7 +1057,8 @@
        return GED_ERROR;
     }
 
-    if (gdvp->gdv_fbs.fbs_fbp == FB_NULL) {
+    struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+    if (tvd->gdv_fbs.fbs_fbp == FB_NULL) {
        bu_vls_printf(gedp->ged_result_str, "%s listen: framebuffer not 
open!\n", argv[0]);
        return GED_ERROR;
     }
@@ -1058,7 +1065,7 @@
 
     /* return the port number */
     if (argc == 2) {
-       bu_vls_printf(gedp->ged_result_str, "%d", 
gdvp->gdv_fbs.fbs_listener.fbsl_port);
+       bu_vls_printf(gedp->ged_result_str, "%d", 
tvd->gdv_fbs.fbs_listener.fbsl_port);
        return GED_OK;
     }
 
@@ -1071,11 +1078,11 @@
        }
 
        if (port >= 0)
-           fbs_open(&gdvp->gdv_fbs, port);
+           fbs_open(&tvd->gdv_fbs, port);
        else {
-           fbs_close(&gdvp->gdv_fbs);
+           fbs_close(&tvd->gdv_fbs);
        }
-       bu_vls_printf(gedp->ged_result_str, "%d", 
gdvp->gdv_fbs.fbs_listener.fbsl_port);
+       bu_vls_printf(gedp->ged_result_str, "%d", 
tvd->gdv_fbs.fbs_listener.fbsl_port);
        return GED_OK;
     }
 

Modified: brlcad/branches/bioh/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/branches/bioh/src/libtclcad/tclcad_obj.c     2020-07-29 19:22:14 UTC 
(rev 76580)
+++ brlcad/branches/bioh/src/libtclcad/tclcad_obj.c     2020-07-29 19:38:10 UTC 
(rev 76581)
@@ -1508,8 +1508,9 @@
     status = dm_configure_win(gdvp->gdv_dmp, 0);
 
     /* configure the framebuffer window */
-    if (gdvp->gdv_fbs.fbs_fbp != FB_NULL)
-       (void)fb_configure_window(gdvp->gdv_fbs.fbs_fbp, 
dm_get_width(gdvp->gdv_dmp), dm_get_height(gdvp->gdv_dmp));
+    struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+    if (tvd->gdv_fbs.fbs_fbp != FB_NULL)
+       (void)fb_configure_window(tvd->gdv_fbs.fbs_fbp, 
dm_get_width(gdvp->gdv_dmp), dm_get_height(gdvp->gdv_dmp));
 
     {
        char cdimX[32];
@@ -4573,13 +4574,13 @@
     new_gdvp->gdv_view->gv_point_scale = 1.0;
     new_gdvp->gdv_view->gv_curve_scale = 1.0;
 
-    new_gdvp->gdv_fbs.fbs_listener.fbsl_fbsp = &new_gdvp->gdv_fbs;
-    new_gdvp->gdv_fbs.fbs_listener.fbsl_fd = -1;
-    new_gdvp->gdv_fbs.fbs_listener.fbsl_port = -1;
-    new_gdvp->gdv_fbs.fbs_fbp = FB_NULL;
-    new_gdvp->gdv_fbs.fbs_callback = (void (*)(void 
*clientData))to_fbs_callback;
-    new_gdvp->gdv_fbs.fbs_clientData = new_gdvp;
-    new_gdvp->gdv_fbs.fbs_interp = current_top->to_interp;
+    tvd->gdv_fbs.fbs_listener.fbsl_fbsp = &tvd->gdv_fbs;
+    tvd->gdv_fbs.fbs_listener.fbsl_fd = -1;
+    tvd->gdv_fbs.fbs_listener.fbsl_port = -1;
+    tvd->gdv_fbs.fbs_fbp = FB_NULL;
+    tvd->gdv_fbs.fbs_callback = (void (*)(void *clientData))to_fbs_callback;
+    tvd->gdv_fbs.fbs_clientData = new_gdvp;
+    tvd->gdv_fbs.fbs_interp = current_top->to_interp;
 
     /* open the framebuffer */
     to_open_fbs(new_gdvp, current_top->to_interp);
@@ -4831,7 +4832,8 @@
 
     (void)dm_set_depth_mask(gdvp->gdv_dmp, 0);
 
-    (void)fb_refresh(gdvp->gdv_fbs.fbs_fbp, gdvp->gdv_view->gv_rect.pos[X], 
gdvp->gdv_view->gv_rect.pos[Y],
+    struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+    (void)fb_refresh(tvd->gdv_fbs.fbs_fbp, gdvp->gdv_view->gv_rect.pos[X], 
gdvp->gdv_view->gv_rect.pos[Y],
                     gdvp->gdv_view->gv_rect.dim[X], 
gdvp->gdv_view->gv_rect.dim[Y]);
 
     (void)dm_set_depth_mask(gdvp->gdv_dmp, 1);

Modified: brlcad/branches/bioh/src/libtclcad/view/refresh.c
===================================================================
--- brlcad/branches/bioh/src/libtclcad/view/refresh.c   2020-07-29 19:22:14 UTC 
(rev 76580)
+++ brlcad/branches/bioh/src/libtclcad/view/refresh.c   2020-07-29 19:38:10 UTC 
(rev 76581)
@@ -36,7 +36,8 @@
 void
 go_refresh_draw(struct ged_obj *gop, struct ged_dm_view *gdvp, int 
restore_zbuffer)
 {
-    if (gdvp->gdv_fbs.fbs_mode == TCLCAD_OBJ_FB_MODE_OVERLAY) {
+    struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+    if (tvd->gdv_fbs.fbs_mode == TCLCAD_OBJ_FB_MODE_OVERLAY) {
        if (gdvp->gdv_view->gv_rect.draw) {
            go_draw(gdvp);
 
@@ -45,7 +46,7 @@
            /* disable write to depth buffer */
            (void)dm_set_depth_mask(gdvp->gdv_dmp, 0);
 
-           fb_refresh(gdvp->gdv_fbs.fbs_fbp,
+           fb_refresh(tvd->gdv_fbs.fbs_fbp,
                       gdvp->gdv_view->gv_rect.pos[X], 
gdvp->gdv_view->gv_rect.pos[Y],
                       gdvp->gdv_view->gv_rect.dim[X], 
gdvp->gdv_view->gv_rect.dim[Y]);
 
@@ -58,7 +59,7 @@
            /* disable write to depth buffer */
            (void)dm_set_depth_mask(gdvp->gdv_dmp, 0);
 
-           fb_refresh(gdvp->gdv_fbs.fbs_fbp, 0, 0,
+           fb_refresh(tvd->gdv_fbs.fbs_fbp, 0, 0,
                       dm_get_width(gdvp->gdv_dmp), 
dm_get_height(gdvp->gdv_dmp));
 
            /* enable write to depth buffer */
@@ -70,7 +71,7 @@
        }
 
        return;
-    } else if (gdvp->gdv_fbs.fbs_mode == TCLCAD_OBJ_FB_MODE_INTERLAY) {
+    } else if (tvd->gdv_fbs.fbs_mode == TCLCAD_OBJ_FB_MODE_INTERLAY) {
        go_draw(gdvp);
 
        /* disable write to depth buffer */
@@ -77,11 +78,11 @@
        (void)dm_set_depth_mask(gdvp->gdv_dmp, 0);
 
        if (gdvp->gdv_view->gv_rect.draw) {
-           fb_refresh(gdvp->gdv_fbs.fbs_fbp,
+           fb_refresh(tvd->gdv_fbs.fbs_fbp,
                       gdvp->gdv_view->gv_rect.pos[X], 
gdvp->gdv_view->gv_rect.pos[Y],
                       gdvp->gdv_view->gv_rect.dim[X], 
gdvp->gdv_view->gv_rect.dim[Y]);
        } else
-           fb_refresh(gdvp->gdv_fbs.fbs_fbp, 0, 0,
+           fb_refresh(tvd->gdv_fbs.fbs_fbp, 0, 0,
                       dm_get_width(gdvp->gdv_dmp), 
dm_get_height(gdvp->gdv_dmp));
 
        /* enable write to depth buffer */
@@ -91,16 +92,16 @@
            (void)dm_set_zbuffer(gdvp->gdv_dmp, 1);
        }
     } else {
-       if (gdvp->gdv_fbs.fbs_mode == TCLCAD_OBJ_FB_MODE_UNDERLAY) {
+       if (tvd->gdv_fbs.fbs_mode == TCLCAD_OBJ_FB_MODE_UNDERLAY) {
            /* disable write to depth buffer */
            (void)dm_set_depth_mask(gdvp->gdv_dmp, 0);
 
            if (gdvp->gdv_view->gv_rect.draw) {
-               fb_refresh(gdvp->gdv_fbs.fbs_fbp,
+               fb_refresh(tvd->gdv_fbs.fbs_fbp,
                           gdvp->gdv_view->gv_rect.pos[X], 
gdvp->gdv_view->gv_rect.pos[Y],
                           gdvp->gdv_view->gv_rect.dim[X], 
gdvp->gdv_view->gv_rect.dim[Y]);
            } else
-               fb_refresh(gdvp->gdv_fbs.fbs_fbp, 0, 0,
+               fb_refresh(tvd->gdv_fbs.fbs_fbp, 0, 0,
                           dm_get_width(gdvp->gdv_dmp), 
dm_get_height(gdvp->gdv_dmp));
 
            /* enable write to depth buffer */
@@ -123,7 +124,8 @@
     int restore_zbuffer = 0;
 
     /* Turn off the zbuffer if the framebuffer is active AND the zbuffer is 
on. */
-    if (gdvp->gdv_fbs.fbs_mode != TCLCAD_OBJ_FB_MODE_OFF && 
dm_get_zbuffer(gdvp->gdv_dmp)) {
+    struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+    if (tvd->gdv_fbs.fbs_mode != TCLCAD_OBJ_FB_MODE_OFF && 
dm_get_zbuffer(gdvp->gdv_dmp)) {
        (void)dm_set_zbuffer(gdvp->gdv_dmp, 0);
        restore_zbuffer = 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