This is objects-tty.c in view mode; [Download] [Up]
/* TTY-specific Lisp objects. Copyright (C) 1995 Board of Trustees, University of Illinois Copyright (C) 1995 Ben Wing This file is part of XEmacs. XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Synched up with: Not in FSF. */ #include <config.h> #include "lisp.h" #include "device-tty.h" #include "objects-tty.h" Lisp_Object Qblack, Qred, Qgreen, Qyellow, Qblue, Qmagenta, Qcyan, Qwhite; Lisp_Object Qbold, Qunderscore, Qblink, Qconcealed; /* Qreverse defined in general.c */ static int tty_initialize_color_instance (struct Lisp_Color_Instance *p, Lisp_Object name, Lisp_Object device, int no_error) { /* Old doc string: "Given a list of colors and attributes return a composite sequence.\n\ The return value is actually a list with two elements. The first element\n\ is the sequence to turn the combination on. The second is the combination\n\ to turn them off." */ return 0; /* #### write this function */ /* #### Need to be able to allow user to specify arbitrary strings in order to support other color models. */ } static void tty_mark_color_instance (struct Lisp_Color_Instance *c, void (*markobj) (Lisp_Object)) { ((markobj) (COLOR_INSTANCE_TTY_BEGIN (c))); ((markobj) (COLOR_INSTANCE_TTY_END (c))); } static void tty_print_color_instance (struct Lisp_Color_Instance *c, Lisp_Object printcharfun, int escapeflag) { /* #### write this. */ } static void tty_finalize_color_instance (struct Lisp_Color_Instance *c) { if (c->data) xfree (c->data); } static int tty_color_instance_equal (struct Lisp_Color_Instance *c1, struct Lisp_Color_Instance *c2, int depth) { /* compare the escape sequences */ return (internal_equal (COLOR_INSTANCE_TTY_BEGIN (c1), COLOR_INSTANCE_TTY_BEGIN (c2), depth + 1) && internal_equal (COLOR_INSTANCE_TTY_END (c1), COLOR_INSTANCE_TTY_END (c2), depth + 1)); } static unsigned long tty_color_instance_hash (struct Lisp_Color_Instance *c, int depth) { return HASH2 (internal_hash (COLOR_INSTANCE_TTY_BEGIN (c), depth + 1), internal_hash (COLOR_INSTANCE_TTY_END (c), depth + 1)); } static int tty_valid_color_name_p (struct device *d, Lisp_Object color) { /* The colors. */ if (EQ (color, Qblack)) return 1; else if (EQ (color, Qred)) return 1; else if (EQ (color, Qgreen)) return 1; else if (EQ (color, Qyellow)) return 1; else if (EQ (color, Qblue)) return 1; else if (EQ (color, Qmagenta)) return 1; else if (EQ (color, Qcyan)) return 1; else if (EQ (color, Qwhite)) return 1; /* The attributes. */ if (EQ (color, Qbold)) return 1; else if (EQ (color, Qunderscore)) return 1; else if (EQ (color, Qblink)) return 1; else if (EQ (color, Qreverse)) return 1; else if (EQ (color, Qconcealed)) return 1; return 0; } static int tty_initialize_font_instance (struct Lisp_Font_Instance *p, Lisp_Object name, Lisp_Object device, int no_error) { return 0; /* #### write these functions. */ } static void tty_mark_font_instance (struct Lisp_Font_Instance *f, void (*markobj) (Lisp_Object)) { /* #### write these functions. */ } static void tty_print_font_instance (struct Lisp_Font_Instance *f, Lisp_Object printcharfun, int escapeflag) { /* #### write these functions. */ } static void tty_finalize_font_instance (struct Lisp_Font_Instance *f) { /* #### write these functions. */ if (f->data) xfree (f->data); } static Lisp_Object tty_list_fonts (Lisp_Object pattern, Lisp_Object device) { /* #### write these functions. */ return Qnil; } /************************************************************************/ /* initialization */ /************************************************************************/ void syms_of_objects_tty (void) { defsymbol (&Qblack, "black"); defsymbol (&Qred, "red"); defsymbol (&Qgreen, "green"); defsymbol (&Qyellow, "yellow"); defsymbol (&Qblue, "blue"); defsymbol (&Qmagenta, "magenta"); defsymbol (&Qcyan, "cyan"); defsymbol (&Qwhite, "white"); defsymbol (&Qbold, "bold"); defsymbol (&Qunderscore, "underscore"); defsymbol (&Qblink, "blink"); defsymbol (&Qconcealed, "concealed"); } void device_type_create_objects_tty (void) { /* object methods */ DEVICE_HAS_METHOD (tty, initialize_color_instance); DEVICE_HAS_METHOD (tty, mark_color_instance); DEVICE_HAS_METHOD (tty, print_color_instance); DEVICE_HAS_METHOD (tty, finalize_color_instance); DEVICE_HAS_METHOD (tty, color_instance_equal); DEVICE_HAS_METHOD (tty, color_instance_hash); DEVICE_HAS_METHOD (tty, valid_color_name_p); DEVICE_HAS_METHOD (tty, initialize_font_instance); DEVICE_HAS_METHOD (tty, mark_font_instance); DEVICE_HAS_METHOD (tty, print_font_instance); DEVICE_HAS_METHOD (tty, finalize_font_instance); DEVICE_HAS_METHOD (tty, list_fonts); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.