|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T p
Length: 4393 (0x1129)
Types: TextFile
Names: »private.h«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
└─⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z«
└─⟦2109abc41⟧
└─⟦this⟧ »./X.V10R4/libibm/libsrc/private.h«
/* $Header: private.h,v 10.1 86/11/19 10:46:15 jg Exp $ */
/* Copyright 1985 Massachusetts Institute of Technology */
/* private.h - Defines and macros to access private data structures
*
* Changes and modifications by:
*
* Scott Bates
* Brown University
* IRIS, Box 1946
* Providence, RI 02912
*
*
* Copyright (c) 1986 Brown University
*
* Permission to use, copy, modify and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies, and that both
* that copyright notice and this permission notice appear in supporting
* documentation, and that the name of Brown University not be used in
* advertising or publicity pertaining to distribution of the software
* without specific, written prior permission. Brown University makes no
* representations about the suitability of this software for any purpose.
* It is provided "as-is" without express or implied warranty.
*/
#include <sys/types.h>
#include <stdio.h>
#include <errno.h>
#include "vsinput.h"
#include "Xdev.h"
#include "X.h"
#include <sys/ioctl.h>
#include <sgtty.h>
#include <fcntl.h>
#include <sys/tbioctl.h>
#include <machineio/mouseio.h>
#include <machinecons/xio.h>
#define ConstantPixmap 0 /* kinds of pixmaps, constant */
#define BitmapPixmap 1 /* and ones with associated bitmaps */
#define CanBeTiled 1 /* this pixmap can be tiled */
#define CannotBeTiled 0 /* this pixmap cannont be tiled */
#define InvertFlag 0x10 /* pixmap source should be inverted */
#define PTYPE(x) (((int) (x)->kind) & 0xF) /* get type */
#define PINVERT(x) (((int) (x)->kind) >> 4) /* get invert flag */
#define TILE_SIZE 16 /* tile size in shorts */
#define TILE_WIDTH 16 /* tile width in bits */
#define TILE_HEIGHT 16 /* tile height in bits */
#define CURSOR_SIZE 16 /* cursor size in shorts */
#define CURSOR_WIDTH 16 /* cursor width in bits */
#define CURSOR_HEIGHT 16 /* cursor height in bits */
#define CDATA(x) ((CursPriv *) x->data) /* get pntr to private cursor data */
typedef struct _curspriv { /* private data struct for cursor */
u_short data[CURSOR_SIZE]; /* cursor image */
u_short mask[CURSOR_SIZE]; /* cursor mask */
struct { /* cursor hot spot */
short y;
short x;
} hotspot;
} CursPriv;
#define FDATA(x) ((FontPriv *) x->data) /* get pntr to private font data */
typedef struct _fontpriv { /* private font data */
int maxwidth; /* maximum width found in the font */
short *widths; /* width table (in pixels) */
short *leftarray; /* leftarray */
BITMAP *chrs; /* individual character bitmaps */
BITMAP *offscr; /* the font offscreen bitmap */
} FontPriv;
#define BDATA(x) ((u_short *) x->data) /* get pntr to private bitmap data */
#define PDATA(x) ((BITMAP *) x->data) /* get pntr to private pixmap data */
/*
* Define for the global text offscreen array of unsigned shorts.
* Each offscr BITMAP.data structure will point to this array.
* When each font is opened, it uses this buffer which is designed to
* be as wide as the widest display and 128 bits high.
* This is roughly 20K. (For all fonts.)
* (We are assuming some day one will have a 1280x1024 screen.)
*/
#define MAX_OFFSCR_WD 1280
#define MAX_OFFSCR_HT 128
#define TEXT_BUFFER_SIZE ((MAX_OFFSCR_WD * MAX_OFFSCR_HT) >> 4)
#define CH_THRESHOLD 3
/*
* Path list type flags
*/
#define DRAW_PATH_LIST 0
#define FILL_PATH_LIST 1
/*
* These macors are used in place of floating point
* code to get precision to the second decimal place
* using interger math.
*/
#define SHIFT_LEFT_16(x) \
(((x) < 0) ? -(-(x) << 16) : (x) << 16)
#define ROUND_16(x) \
(((x) < 0) ? -((-(x) + 32768) >> 16) : (((x) + 32768) >> 16))
#define PERCENT_16(x, n, d) \
(((x) < 0) ? -((-(x) / d) * n) : (((x) / d) * n))
/*
* Macro to obtain address of the screens
* BITMAP structure
*/
#define SCREEN_BITMAP &pbm
/*
* Externs and declarations
*/
extern BITMAP pbm;
extern BITMAP txtbm;
extern u_short *ConstantTiles[];
extern PIXMAP constpix0;
extern PIXMAP constpix1;
extern char FBMap[];
extern char SSMap[];
extern int errno;
BITMAP *CharBitmap();
BITMAP *MakeMask();
PIXMAP *MakePixmap();
char *Xalloc(), *calloc();
char *strcpy(), *strcat();
char *getenv();
long lseek();