1/*	SCCS Id: @(#)mttypriv.h 3.4	1993/03/01	*/
2/* Copyright (c) Jon W{tte 1993.					*/
3/* NetHack may be freely redistributed.  See license for details.	*/
4
5/*
6 * This file contains private structures used to implement the
7 * tty windows - note that these structures may change between
8 * minor releases!
9 */
10
11#ifndef _H_tty_private
12# define _H_tty_private
13
14# ifndef _H_tty_public
15#include "mactty.h"
16# endif
17
18#if !TARGET_API_MAC_CARBON
19# include <QDOffscreen.h>
20# include <Gestalt.h>
21# include <Errors.h>
22#endif
23
24#define TA_TO_RGB(ta,rgb) (((rgb).red=(((ta)>>16)&0xff)*257),((rgb).green=(((ta)>>8)&0xff)*257),\
25	((rgb).blue=((ta)&0xff)*257)),rgb
26
27typedef struct tty_record {
28	WindowPtr	its_window ;
29
30	short		font_number ;
31	short		font_size ;
32	short		char_width ;
33	short		row_height ;
34	short		ascent_height ;
35
36	short		x_size ;
37	short		y_size ;
38	short		x_curs ;
39	short		y_curs ;
40
41	GWorldPtr		its_window_world ;
42	BitMap			its_bits ;
43	GrafPtr			offscreen_port ;
44	GWorldPtr		offscreen_world ;
45#if CLIP_RECT_ONLY
46	Rect			invalid_rect ;
47#else
48	RgnHandle		invalid_part ;
49#endif
50
51	long		attribute [ TTY_NUMBER_ATTRIBUTES ] ;
52	long		last_cursor ;
53
54	Boolean		was_allocated ;
55	Boolean		curs_state ;
56	Boolean		uses_gworld ;
57} tty_record ;
58
59
60#endif	/* _H_tty_private */
61