view src/w32inevt.h @ 29004:383e4e21306a

(LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL, CHARSET_8_BIT_GRAPHIC): New macros. (SINGLE_BYTE_CHAR_P): Make it faster by using casting. (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT. (CHARSET_REVERSE_CHARSET): Likewise. (CHARSET_VALID_P): Handle new charsets; eight-bit-control and eight-bit-graphic. (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII. (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise. (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we encounter an invalid multibyte sequence. (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte sequence is always valid. (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted. (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros. (CHAR_STRING): For 8-bit characters, call char_to_string. (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume multibyte sequence is always valid. (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise. (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte, str_as_unibyte): Extern them. (BCOPY_SHORT): Fix a bug. (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES. (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING. (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro. (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
author Kenichi Handa <handa@m17n.org>
date Fri, 19 May 2000 23:54:05 +0000
parents 56104212fe5c
children f16690808171
line wrap: on
line source

/* Input routines for GNU Emacs on the Microsoft W32 API.
   Copyright (C) 1995 Free Software Foundation, Inc.

This file is part of GNU Emacs.

GNU Emacs 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.

GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */

#ifndef __NTINEVT_H__
#define __NTINEVT_H__

extern int w32_console_read_socket (int sd, struct input_event *bufp, 
				    int numchars, int expected);
extern void w32_console_mouse_position (FRAME_PTR *f, int insist, 
					Lisp_Object *bar_window, 
					enum scroll_bar_part *part, 
					Lisp_Object *x, Lisp_Object *y, 
					unsigned long *time);

#endif