Annotation of 43BSDTahoe/new/X/libsun/Xsun.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * The Sun X drivers are a product of Sun Microsystems, Inc. and are provided
                      3:  * for unrestricted use provided that this legend is included on all tape
                      4:  * media and as a part of the software program in whole or part.  Users
                      5:  * may copy or modify these drivers without charge, but are not authorized
                      6:  * to license or distribute them to anyone else except as part of a product or
                      7:  * program developed by the user.
                      8:  * 
                      9:  * THE SUN X DRIVERS ARE PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND
                     10:  * INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A
                     11:  * PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE
                     12:  * PRACTICE.
                     13:  *
                     14:  * The Sun X Drivers are provided with no support and without any obligation
                     15:  * on the part of Sun Microsystems, Inc. to assist in their use, correction,
                     16:  * modification or enhancement.
                     17:  * 
                     18:  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
                     19:  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THE SUN X
                     20:  * DRIVERS OR ANY PART THEREOF.
                     21:  * 
                     22:  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
                     23:  * or profits or other special, indirect and consequential damages, even if
                     24:  * Sun has been advised of the possibility of such damages.
                     25:  * 
                     26:  * Sun Microsystems, Inc.
                     27:  * 2550 Garcia Avenue
                     28:  * Mountain View, California  94043
                     29:  */
                     30: 
                     31: /*-
                     32:  * Copyright 1985, Massachusetts Institute of Technology
                     33:  * Copyright (c) 1986 by Sun Microsystems,  Inc.
                     34:  *
                     35:  * @(#)Xsun.h 2.1 86/01/28
                     36:  *
                     37:  */
                     38: 
                     39: #include <stdio.h>
                     40: #include <X/X.h>
                     41: #include <pixrect/pixrect_hs.h>
                     42: #include "../X/vsinput.h"
                     43: #include "../X/Xdev.h"
                     44: 
                     45: 
                     46: #define ConstantPixmap 0x0     /* kinds of pixmaps on sun, constant */
                     47: #define BitmapPixmap 0x1       /* and ones with associated bitmaps   */
                     48: #define        ZColorPixmap 0x2        /* and 8-bit color ones */
                     49: #define XYColorPixmap 0x3      /* in both styles */
                     50: #define CanBeTiled 1           /* this pixmap can be tiled           */
                     51: #define CannotBeTiled 0                /* this pixmap cannont be tiled       */
                     52: 
                     53: #define InvertFlag 0x10                /* pixmap source should be inverted   */
                     54: #define PTYPE(x) (((int) (x)->kind) & 0xf)
                     55: #define PINVERT(x) (((int) (x)->kind) >> 4)
                     56: 
                     57: typedef struct _fontpriv {
                     58:        int maxwidth;           /* maximum width found in the font */
                     59:        int wpitch;             /* number of bytes/line in strike  */
                     60:        short *widths;          /* width table (in pixels)         */
                     61:        short *leftarray;       /* leftarray                       */
                     62:        BITMAP *strike;         /* the font stike bitmap itself    */
                     63:        long *chrs;             /* chars in independent bitmaps    */
                     64:        char **fltable;         /* beginning of each strike line   */
                     65: } FontPriv;
                     66: 
                     67: typedef struct _curspriv {
                     68:        struct pixrect *top;    /* The cursor image */
                     69:        BITMAP *top_bit;
                     70:        struct pixrect *bot;    /* The cursor image */
                     71:        BITMAP *bot_bit;
                     72:        struct pixrect *sv;     /* The pixels underneath */
                     73:        int fore, back, c_func;
                     74: } CursPriv;
                     75: 
                     76: #define CDATA(x) ((CursPriv *) x->data)
                     77: 
                     78: #define F_DATA(x) ((struct pixfont *) x->data)
                     79: 
                     80: #define BDATA(x) ((VSArea *) x->data)
                     81: 
                     82: #define PDATA(x) ((BITMAP *) x->data)
                     83: 
                     84: #define SUN_FROM_X_OP(func)    (Sun_From_X_Op[func])
                     85: #define SUN_FROM_X_OP_INVERT(func)    (Sun_From_X_Op[SSMap[func|0x10]])
                     86: extern char SSMap[];
                     87: 
                     88: short Sun_From_X_Op[];
                     89: 
                     90: #define CURSOR_WIDTH   16
                     91: #define CURSOR_HEIGHT  16
                     92: 
                     93: #define GetNextClip(clips, cleft, ctop, cwidth, cheight) \
                     94:     { \
                     95:        CLIP       *cl = clips++; \
                     96:        cleft = cl->left; \
                     97:        ctop = cl->top; \
                     98:        cwidth = cl->width; \
                     99:        cheight = cl->height; \
                    100:     }
                    101: 
                    102: #define        OverLap(x1, y1, w1, h1, x2, y2, w2, h2) \
                    103:        ((x1 < x2+w2) && (y1 < y2+h2) && (x2 < x1+w1) && (y2 < y1+h1))
                    104: 
                    105: #define imin(i,j)      (i<j?i:j)
                    106: 
                    107: #define imax(i,j)      (i>j?i:j)
                    108: 
                    109: #define SetZmask(pr, zm) { \
                    110:        extern private_czmask; \
                    111:        if (*(char *)(zm) != (char)private_czmask) { \
                    112:                pr_putattributes(pr, (zm)); \
                    113:                private_czmask = *(zm); \
                    114:        }}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.