Revision: 76340
http://sourceforge.net/p/brlcad/code/76340
Author: starseeker
Date: 2020-07-15 00:08:48 +0000 (Wed, 15 Jul 2020)
Log Message:
-----------
move fb functions
Modified Paths:
--------------
brlcad/trunk/src/libtclcad/fb_obj.c
brlcad/trunk/src/libtclcad/tclcad_obj.c
brlcad/trunk/src/libtclcad/tclcad_private.h
Modified: brlcad/trunk/src/libtclcad/fb_obj.c
===================================================================
--- brlcad/trunk/src/libtclcad/fb_obj.c 2020-07-14 21:57:25 UTC (rev 76339)
+++ brlcad/trunk/src/libtclcad/fb_obj.c 2020-07-15 00:08:48 UTC (rev 76340)
@@ -903,7 +903,187 @@
}
+
+void
+to_fbs_callback(void *clientData)
+{
+ struct ged_dm_view *gdvp = (struct ged_dm_view *)clientData;
+
+ to_refresh_view(gdvp);
+}
+
+
+int
+to_close_fbs(struct ged_dm_view *gdvp)
+{
+ if (gdvp->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;
+
+ return TCL_OK;
+}
+
+
/*
+ * Open/activate the display managers framebuffer.
+ */
+int
+to_open_fbs(struct ged_dm_view *gdvp, Tcl_Interp *interp)
+{
+ /* already open */
+ if (gdvp->gdv_fbs.fbs_fbp != FB_NULL)
+ return TCL_OK;
+
+ gdvp->gdv_fbs.fbs_fbp = dm_get_fb(gdvp->gdv_dmp);
+
+ if (gdvp->gdv_fbs.fbs_fbp == FB_NULL) {
+ Tcl_Obj *obj;
+
+ obj = Tcl_GetObjResult(interp);
+ if (Tcl_IsShared(obj))
+ obj = Tcl_DuplicateObj(obj);
+
+ Tcl_AppendStringsToObj(obj, "openfb: failed to allocate framebuffer
memory\n", (char *)NULL);
+
+ Tcl_SetObjResult(interp, obj);
+ return TCL_ERROR;
+ }
+
+ return TCL_OK;
+}
+
+
+
+int
+to_set_fb_mode(struct ged *gedp,
+ int argc,
+ const char *argv[],
+ ged_func_ptr UNUSED(func),
+ const char *usage,
+ int UNUSED(maxargs))
+{
+ int mode;
+ struct ged_dm_view *gdvp;
+
+ /* initialize result */
+ bu_vls_trunc(gedp->ged_result_str, 0);
+
+ /* must be wanting help */
+ if (argc == 1) {
+ bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+ return GED_HELP;
+ }
+
+ if (3 < argc) {
+ bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+ return GED_ERROR;
+ }
+
+ for (BU_LIST_FOR(gdvp, ged_dm_view,
¤t_top->to_gop->go_head_views.l)) {
+ if (BU_STR_EQUAL(bu_vls_addr(&gdvp->gdv_name), argv[1]))
+ break;
+ }
+
+ if (BU_LIST_IS_HEAD(&gdvp->l, ¤t_top->to_gop->go_head_views.l)) {
+ bu_vls_printf(gedp->ged_result_str, "View not found - %s", argv[1]);
+ return GED_ERROR;
+ }
+
+ /* Get fb mode */
+ if (argc == 2) {
+ bu_vls_printf(gedp->ged_result_str, "%d", gdvp->gdv_fbs.fbs_mode);
+ return GED_OK;
+ }
+
+ /* Set fb mode */
+ if (bu_sscanf(argv[2], "%d", &mode) != 1) {
+ bu_vls_printf(gedp->ged_result_str, "set_fb_mode: bad value - %s\n",
argv[2]);
+ return GED_ERROR;
+ }
+
+ if (mode < 0)
+ mode = 0;
+ else if (TCLCAD_OBJ_FB_MODE_OVERLAY < mode)
+ mode = TCLCAD_OBJ_FB_MODE_OVERLAY;
+
+ gdvp->gdv_fbs.fbs_mode = mode;
+ to_refresh_view(gdvp);
+
+ return GED_OK;
+}
+
+
+int
+to_listen(struct ged *gedp,
+ int argc,
+ const char *argv[],
+ ged_func_ptr UNUSED(func),
+ const char *usage,
+ int UNUSED(maxargs))
+{
+ struct ged_dm_view *gdvp;
+
+ /* initialize result */
+ bu_vls_trunc(gedp->ged_result_str, 0);
+
+ /* must be wanting help */
+ if (argc == 1) {
+ bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+ return GED_HELP;
+ }
+
+ if (3 < argc) {
+ bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+ return GED_ERROR;
+ }
+
+ for (BU_LIST_FOR(gdvp, ged_dm_view,
¤t_top->to_gop->go_head_views.l)) {
+ if (BU_STR_EQUAL(bu_vls_addr(&gdvp->gdv_name), argv[1]))
+ break;
+ }
+
+ if (BU_LIST_IS_HEAD(&gdvp->l, ¤t_top->to_gop->go_head_views.l)) {
+ bu_vls_printf(gedp->ged_result_str, "View not found - %s", argv[1]);
+ return GED_ERROR;
+ }
+
+ if (gdvp->gdv_fbs.fbs_fbp == FB_NULL) {
+ bu_vls_printf(gedp->ged_result_str, "%s listen: framebuffer not
open!\n", argv[0]);
+ return GED_ERROR;
+ }
+
+ /* return the port number */
+ if (argc == 2) {
+ bu_vls_printf(gedp->ged_result_str, "%d",
gdvp->gdv_fbs.fbs_listener.fbsl_port);
+ return GED_OK;
+ }
+
+ if (argc == 3) {
+ int port;
+
+ if (bu_sscanf(argv[2], "%d", &port) != 1) {
+ bu_vls_printf(gedp->ged_result_str, "listen: bad value - %s\n",
argv[2]);
+ return GED_ERROR;
+ }
+
+ if (port >= 0)
+ fbs_open(&gdvp->gdv_fbs, port);
+ else {
+ fbs_close(&gdvp->gdv_fbs);
+ }
+ bu_vls_printf(gedp->ged_result_str, "%d",
gdvp->gdv_fbs.fbs_listener.fbsl_port);
+ return GED_OK;
+ }
+
+ bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+ return GED_ERROR;
+}
+
+
+/*
* Local Variables:
* mode: C
* tab-width: 8
Modified: brlcad/trunk/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/trunk/src/libtclcad/tclcad_obj.c 2020-07-14 21:57:25 UTC (rev
76339)
+++ brlcad/trunk/src/libtclcad/tclcad_obj.c 2020-07-15 00:08:48 UTC (rev
76340)
@@ -318,12 +318,6 @@
ged_func_ptr func,
const char *usage,
int maxargs);
-HIDDEN int to_listen(struct ged *gedp,
- int argc,
- const char *argv[],
- ged_func_ptr func,
- const char *usage,
- int maxargs);
HIDDEN int to_local2base(struct ged *gedp,
int argc,
const char *argv[],
@@ -572,12 +566,6 @@
ged_func_ptr func,
const char *usage,
int maxargs);
-HIDDEN int to_set_fb_mode(struct ged *gedp,
- int argc,
- const char *argv[],
- ged_func_ptr func,
- const char *usage,
- int maxargs);
HIDDEN int to_snap_view(struct ged *gedp,
int argc,
const char *argv[],
@@ -646,9 +634,6 @@
int maxargs);
/* Utility Functions */
-HIDDEN int to_close_fbs(struct ged_dm_view *gdvp);
-HIDDEN void to_fbs_callback();
-HIDDEN int to_open_fbs(struct ged_dm_view *gdvp, Tcl_Interp *interp);
HIDDEN void to_create_vlist_callback_solid(struct solid *gdlp);
HIDDEN void to_create_vlist_callback(struct display_list *gdlp);
@@ -5619,73 +5604,7 @@
}
-HIDDEN int
-to_listen(struct ged *gedp,
- int argc,
- const char *argv[],
- ged_func_ptr UNUSED(func),
- const char *usage,
- int UNUSED(maxargs))
-{
- struct ged_dm_view *gdvp;
- /* initialize result */
- bu_vls_trunc(gedp->ged_result_str, 0);
-
- /* must be wanting help */
- if (argc == 1) {
- bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
- return GED_HELP;
- }
-
- if (3 < argc) {
- bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
- return GED_ERROR;
- }
-
- for (BU_LIST_FOR(gdvp, ged_dm_view,
¤t_top->to_gop->go_head_views.l)) {
- if (BU_STR_EQUAL(bu_vls_addr(&gdvp->gdv_name), argv[1]))
- break;
- }
-
- if (BU_LIST_IS_HEAD(&gdvp->l, ¤t_top->to_gop->go_head_views.l)) {
- bu_vls_printf(gedp->ged_result_str, "View not found - %s", argv[1]);
- return GED_ERROR;
- }
-
- if (gdvp->gdv_fbs.fbs_fbp == FB_NULL) {
- bu_vls_printf(gedp->ged_result_str, "%s listen: framebuffer not
open!\n", argv[0]);
- return GED_ERROR;
- }
-
- /* return the port number */
- if (argc == 2) {
- bu_vls_printf(gedp->ged_result_str, "%d",
gdvp->gdv_fbs.fbs_listener.fbsl_port);
- return GED_OK;
- }
-
- if (argc == 3) {
- int port;
-
- if (bu_sscanf(argv[2], "%d", &port) != 1) {
- bu_vls_printf(gedp->ged_result_str, "listen: bad value - %s\n",
argv[2]);
- return GED_ERROR;
- }
-
- if (port >= 0)
- fbs_open(&gdvp->gdv_fbs, port);
- else {
- fbs_close(&gdvp->gdv_fbs);
- }
- bu_vls_printf(gedp->ged_result_str, "%d",
gdvp->gdv_fbs.fbs_listener.fbsl_port);
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
- return GED_ERROR;
-}
-
-
HIDDEN int
to_local2base(struct ged *gedp,
int UNUSED(argc),
@@ -7875,65 +7794,6 @@
HIDDEN int
-to_set_fb_mode(struct ged *gedp,
- int argc,
- const char *argv[],
- ged_func_ptr UNUSED(func),
- const char *usage,
- int UNUSED(maxargs))
-{
- int mode;
- struct ged_dm_view *gdvp;
-
- /* initialize result */
- bu_vls_trunc(gedp->ged_result_str, 0);
-
- /* must be wanting help */
- if (argc == 1) {
- bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
- return GED_HELP;
- }
-
- if (3 < argc) {
- bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
- return GED_ERROR;
- }
-
- for (BU_LIST_FOR(gdvp, ged_dm_view,
¤t_top->to_gop->go_head_views.l)) {
- if (BU_STR_EQUAL(bu_vls_addr(&gdvp->gdv_name), argv[1]))
- break;
- }
-
- if (BU_LIST_IS_HEAD(&gdvp->l, ¤t_top->to_gop->go_head_views.l)) {
- bu_vls_printf(gedp->ged_result_str, "View not found - %s", argv[1]);
- return GED_ERROR;
- }
-
- /* Get fb mode */
- if (argc == 2) {
- bu_vls_printf(gedp->ged_result_str, "%d", gdvp->gdv_fbs.fbs_mode);
- return GED_OK;
- }
-
- /* Set fb mode */
- if (bu_sscanf(argv[2], "%d", &mode) != 1) {
- bu_vls_printf(gedp->ged_result_str, "set_fb_mode: bad value - %s\n",
argv[2]);
- return GED_ERROR;
- }
-
- if (mode < 0)
- mode = 0;
- else if (TCLCAD_OBJ_FB_MODE_OVERLAY < mode)
- mode = TCLCAD_OBJ_FB_MODE_OVERLAY;
-
- gdvp->gdv_fbs.fbs_mode = mode;
- to_refresh_view(gdvp);
-
- return GED_OK;
-}
-
-
-HIDDEN int
to_snap_view(struct ged *gedp,
int argc,
const char *argv[],
@@ -8694,60 +8554,7 @@
/*************************** Local Utility Functions
***************************/
-
HIDDEN void
-to_fbs_callback(void *clientData)
-{
- struct ged_dm_view *gdvp = (struct ged_dm_view *)clientData;
-
- to_refresh_view(gdvp);
-}
-
-
-HIDDEN int
-to_close_fbs(struct ged_dm_view *gdvp)
-{
- if (gdvp->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;
-
- return TCL_OK;
-}
-
-
-/*
- * Open/activate the display managers framebuffer.
- */
-HIDDEN int
-to_open_fbs(struct ged_dm_view *gdvp, Tcl_Interp *interp)
-{
- /* already open */
- if (gdvp->gdv_fbs.fbs_fbp != FB_NULL)
- return TCL_OK;
-
- gdvp->gdv_fbs.fbs_fbp = dm_get_fb(gdvp->gdv_dmp);
-
- if (gdvp->gdv_fbs.fbs_fbp == FB_NULL) {
- Tcl_Obj *obj;
-
- obj = Tcl_GetObjResult(interp);
- if (Tcl_IsShared(obj))
- obj = Tcl_DuplicateObj(obj);
-
- Tcl_AppendStringsToObj(obj, "openfb: failed to allocate framebuffer
memory\n", (char *)NULL);
-
- Tcl_SetObjResult(interp, obj);
- return TCL_ERROR;
- }
-
- return TCL_OK;
-}
-
-
-HIDDEN void
to_create_vlist_callback_solid(struct solid *sp)
{
struct ged_dm_view *gdvp;
Modified: brlcad/trunk/src/libtclcad/tclcad_private.h
===================================================================
--- brlcad/trunk/src/libtclcad/tclcad_private.h 2020-07-14 21:57:25 UTC (rev
76339)
+++ brlcad/trunk/src/libtclcad/tclcad_private.h 2020-07-15 00:08:48 UTC (rev
76340)
@@ -78,7 +78,25 @@
extern int Ged_Init(Tcl_Interp *interp);
extern int Rt_Init(Tcl_Interp *interp);
+/* Fb functions */
+extern int to_close_fbs(struct ged_dm_view *gdvp);
+extern void to_fbs_callback();
+extern int to_open_fbs(struct ged_dm_view *gdvp, Tcl_Interp *interp);
+extern int to_set_fb_mode(struct ged *gedp,
+ int argc,
+ const char *argv[],
+ ged_func_ptr func,
+ const char *usage,
+ int maxargs);
+extern int to_listen(struct ged *gedp,
+ int argc,
+ const char *argv[],
+ ged_func_ptr func,
+ const char *usage,
+ int maxargs);
+
+
/* Utility functions */
extern int to_edit_redraw(struct ged *gedp, int argc, const char *argv[]);
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