58 lines
1.8 KiB

* t k - g l u e . h - Glue functions between the scheme and Tk worlds
* Copyright © 1993-1999 Erick Gallesio - I3S-CNRS/ESSI <>
* Permission to use, copy, modify, distribute,and license this
* software and its documentation for any purpose is hereby granted,
* provided that existing copyright notices are retained in all
* copies and that this notice is included verbatim in any
* distributions. No written agreement, license, or royalty fee is
* required for any of the authorized uses.
* This software is provided ``AS IS'' without express or implied
* warranty.
* Author: Erick Gallesio []
* Creation date: 19-Feb-1993 22:15
* Last file update: 3-Sep-1999 21:00 (eg)
#ifndef _TK_GLUE
#define _TK_GLUE_
/* Include tcl-glue.h */
#include "tcl-glue.h"
/* Scheme objects used to represent the "." pseudo widget and its name */
extern SCM STk_root_window;
extern SCM STk_root_window_name;
/* Last result of Tcl_GlobalEval (as a SCM object rather than a string) */
extern SCM STk_last_Tk_result;
SCM STk_convert_tcl_list_to_scheme(SCM l);
SCM STk_execute_Tcl_lib_cmd(SCM cmd, SCM args, SCM env, int eval_args);
char *STk_convert_for_Tk(SCM obj, SCM *res);
void STk_sharp_dot_result(Tcl_Interp *interp, char *value);
void STk_stringify_result(Tcl_Interp *interp, char *value);
SCM STk_last_Tk_as_SCM(void);
SCM STk_get_NIL_value(void);
SCM STk_get_widget_value(char *name);
int STk_valid_environment(char *s, void **env);
int STk_valid_callback(char *s, void **p);
void STk_add_callback(char *key1, char *key2, char *key3, SCM closure);
void STk_delete_callback(char *key);
void STk_mark_callbacks(void);
char *STk_append_callback_parameters(SCM proc);
void STk_init_glue(void);
#define STk_convert_for_Tk STk_convert_for_Tcl /* compatibility with pre 4.0 */
#endif /* _TK_GLUE_ */