minix/external/bsd/nvi/dist/motif_l/m_motif.h
Lionel Sambuc 84d9c625bf Synchronize on NetBSD-CVS (2013/12/1 12:00:00 UTC)
- Fix for possible unset uid/gid in toproto
 - Fix for default mtree style
 - Update libelf
 - Importing libexecinfo
 - Resynchronize GCC, mpc, gmp, mpfr
 - build.sh: Replace params with show-params.
     This has been done as the make target has been renamed in the same
     way, while a new target named params has been added. This new
     target generates a file containing all the parameters, instead of
     printing it on the console.
 - Update test48 with new etc/services (Fix by Ben Gras <ben@minix3.org)
     get getservbyport() out of the inner loop

Change-Id: Ie6ad5226fa2621ff9f0dee8782ea48f9443d2091
2014-07-28 17:05:06 +02:00

125 lines
2.9 KiB
C

/* $NetBSD: m_motif.h,v 1.2 2013/11/22 15:52:06 christos Exp $ */
/*-
* Copyright (c) 1996
* Rob Zimmermann. All rights reserved.
* Copyright (c) 1996
* Keith Bostic. All rights reserved.
*
* See the LICENSE file for redistribution information.
*
* "Id: m_motif.h,v 8.11 1996/12/20 10:26:59 bostic Exp (Berkeley) Date: 1996/12/20 10:26:59 ";
*/
/*
* Color support
*/
#define COLOR_INVALID 0xff /* force color change */
/*
* These are color indices. When vi passes color info, we can do 2..0x3f
* in the 8 bits I've allocated.
*/
#define COLOR_STANDARD 0x00 /* standard video */
#define COLOR_INVERSE 0x01 /* reverse video */
/* These are flag bits, they override the above colors. */
#define COLOR_CARET 0x80 /* draw the caret */
#define COLOR_SELECT 0x40 /* draw the selection */
#define ToRowCol( scr, lin, r, c ) \
r = (lin) / scr->cols; \
c = ((lin) - r * (scr->cols)) % scr->cols;
#define Linear( scr, y, x ) \
( (y) * scr->cols + (x) )
#define CharAt( scr, y, x ) \
( scr->characters + Linear( scr, y, x ) )
#define FlagAt( scr, y, x ) \
( scr->flags + Linear( scr, y, x ) )
#define XPOS( scr, x ) \
scr->ch_width * (x)
#define YTOP( scr, y ) \
scr->ch_height * (y)
#define YPOS( scr, y ) \
YTOP( scr, ((y)+1) ) - scr->ch_descent
#define ROW( scr, y ) \
( (y) / scr->ch_height )
#define COLUMN( scr, x ) \
( (x) / scr->ch_width )
/* Describes a single 'screen' implemented in X widgetry. */
typedef struct {
Widget parent, /* the pane */
area, /* text goes here */
form, /* holds text and scrollbar */
scroll; /* not connected yet */
Region clip;
int color;
int rows,
cols;
int ch_width,
ch_height,
ch_descent;
int curx, cury;
char *characters;
char *flags;
Boolean init;
} xvi_screen;
/* Option type. */
typedef enum {
optToggle,
optInteger,
optString,
optFile,
optTerminator
} optKind;
/* Option entry. */
typedef struct {
optKind kind; /* Option type. */
String name; /* Option name. */
void *value; /* Current option value. */
u_int flags; /* Associated flags. */
} optData;
/* Option page. */
typedef struct {
String name;
String description;
Widget holder;
optData *toggles;
optData *ints;
optData *others;
} optSheet;
/* Utilities for converting X resources...
*
* __XutConvertResources( Widget, String root, XutResource *, int count )
* The resource block is loaded with converted values
* If the X resource does not exist, no change is made to the value
* 'root' should be the application name.
*/
typedef enum {
XutRKinteger,
XutRKboolean,
XutRKpixel,
XutRKpixelBackup, /* if XutRKpixel fails */
XutRKfont,
XutRKcursor
} XutResourceKind;
typedef struct {
String name;
XutResourceKind kind;
void *value;
} XutResource;
/* Internal use: */
extern GC __vi_copy_gc;
extern void (*__vi_exitp) __P((void));
extern xvi_screen *__vi_screen;
#include "motif_extern.h"