/* Copyright (c) 1992, 1998, 2000, 2002, 2003, 2004, 2005, 2006 John E. Davis * This file is part of JED editor library source. * * You may distribute this file under the terms the GNU General Public * License. See the file COPYING for more information. */ #include "config.h" #include "jed-feat.h" #include #include #include "jdmacros.h" #include "buffer.h" #include "display.h" #include "hooks.h" void (*tt_beep)(void); void (*tt_write_string)(char *); void (*tt_get_screen_size)(int *, int *); JX_SETXXX_RETURN_TYPE (*tt_set_color)(int, char *, char *, char *); JX_SETXXX_RETURN_TYPE (*tt_set_mono) (int, char *, SLtt_Char_Type); #ifndef IBMPC_SYSTEM # if SLANG_VERSION < 20000 void (*tt_set_color_esc)(int, char *); # endif void (*tt_wide_width)(void); void (*tt_narrow_width)(void); void (*tt_enable_cursor_keys)(void); void (*tt_set_term_vtxxx)(int *); #endif int *tt_Ignore_Beep; int *tt_Use_Ansi_Colors; int *tt_Term_Cannot_Scroll; int *tt_Term_Cannot_Insert; #ifndef IBMPC_SYSTEM int *tt_Blink_Mode; #endif void flush_output (void) { SLtt_flush_output (); } static void get_screen_size (int *r, int *c) { SLtt_get_screen_size (); *r = SLtt_Screen_Rows; *c = SLtt_Screen_Cols; } static void get_terminfo (void) { /* Placed here for windows dll support. Apparantly the windows equivalent * of the run-time linker cannot perform the proper relocations. */ tt_beep = SLtt_beep; tt_write_string = SLtt_write_string; tt_get_screen_size = get_screen_size; tt_set_color = SLtt_set_color; tt_set_mono = SLtt_set_mono; #ifndef IBMPC_SYSTEM # if SLANG_VERSION < 20000 tt_set_color_esc = SLtt_set_color_esc; # endif tt_wide_width = SLtt_wide_width; tt_narrow_width = SLtt_narrow_width; tt_enable_cursor_keys = SLtt_enable_cursor_keys; tt_set_term_vtxxx = SLtt_set_term_vtxxx; #endif tt_Ignore_Beep = &SLtt_Ignore_Beep; tt_Use_Ansi_Colors = &SLtt_Use_Ansi_Colors; tt_Term_Cannot_Scroll = &SLtt_Term_Cannot_Scroll; tt_Term_Cannot_Insert = &SLtt_Term_Cannot_Insert; #ifndef IBMPC_SYSTEM SLtt_Blink_Mode = 0; tt_Blink_Mode = &SLtt_Blink_Mode; #endif if (Batch == 0) SLtt_get_terminfo (); } void (*tt_get_terminfo)(void) = get_terminfo; int (*X_Argc_Argv_Hook)(int, char **) = NULL;