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