⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fservestr.h

📁 unix vnc 协议源码. VNC是一款远程控制工具软件.
💻 H
字号:
/* $XConsortium: fservestr.h,v 1.13 95/06/09 22:16:29 gildea Exp $ *//* * Copyright 1990 Network Computing Devices * * Permission to use, copy, modify, distribute, and sell this software and * its documentation for any purpose is hereby granted without fee, 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 Network Computing Devices not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission.  Network Computing * Devices makes no representations about the suitability of this software * for any purpose.  It is provided "as is" without express or implied * warranty. * * NETWORK COMPUTING DEVICES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, * IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE FOR ANY SPECIAL, * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE * OR PERFORMANCE OF THIS SOFTWARE. * * Author:  	Dave Lemke, Network Computing Devices, Inc */#ifndef _FSERVESTR_H_#define _FSERVESTR_H_#include	"fserve.h"#include	"fsio.h"/* * font server data structures *//* * font server private storage */typedef struct _fs_font {    CharInfoPtr pDefault;    CharInfoPtr encoding;    CharInfoPtr inkMetrics;}           FSFontRec, *FSFontPtr;/* FS special data for the font */typedef struct _fs_font_data {    long        fontid;    int		generation;	/* FS generation when opened */    FontPathElementPtr fpe;    unsigned long glyphs_to_get;	/* # glyphs remaining to be gotten */    /* Following data needed in case font needs to be reopened. */    int		namelen;    char       *name;    fsBitmapFormat	format;    fsBitmapFormatMask	fmask;}           FSFontDataRec;typedef struct fs_clients_depending {    pointer	client;    struct fs_clients_depending *next;}	FSClientsDependingRec, *FSClientsDependingPtr;/* OpenFont specific data for blocked request */typedef struct _fs_blocked_font {    FontPtr     pfont;    long        fontid;    int         state;		/* how many of the replies have landed */    int         errcode;    int         flags;    fsBitmapFormat format;    FSClientsDependingPtr	clients_depending;}           FSBlockedFontRec;/* LoadGlyphs data for blocked request */typedef struct _fs_blocked_glyphs {    FontPtr     pfont;    int		num_expected_ranges;    fsRange     *expected_ranges;    int         errcode;    Bool        done;    FSClientsDependingPtr	clients_depending;}           FSBlockedGlyphRec;/* LoadExtents data for blocked request */typedef struct _fs_blocked_extents {    FontPtr     pfont;    fsRange    *expected_ranges;    int         nranges;    Bool        done;    unsigned long nextents;    fsXCharInfo *extents;}           FSBlockedExtentRec;/* LoadBitmaps data for blocked request */typedef struct _fs_blocked_bitmaps {    FontPtr     pfont;    fsRange    *expected_ranges;    int         nranges;    Bool        done;    unsigned long size;    unsigned long nglyphs;    fsOffset32   *offsets;    pointer     gdata;}           FSBlockedBitmapRec;/* state for blocked ListFonts */typedef struct _fs_blocked_list {    FontNamesPtr names;    int         patlen;    int         errcode;    Bool        done;}           FSBlockedListRec;/* state for blocked ListFontsWithInfo */typedef struct _fs_blocked_list_info {    int         status;    char       *name;    int         namelen;    FontInfoPtr pfi;    int         remaining;    int         errcode;}           FSBlockedListInfoRec;/* state for blocked request */typedef struct _fs_block_data {    int			    type;	/* Open Font, LoadGlyphs, ListFonts,					 * ListWithInfo */    pointer		    client;	    /* who wants it */    int			    sequence_number;/* expected */    fsGenericReply	    header;    pointer		    data;	    /* type specific data */    struct _fs_block_data   *depending;	    /* clients depending on this one */    struct _fs_block_data   *next;}           FSBlockDataRec;/* state for reconnected to dead font server */typedef struct _fs_reconnect {    int	    i;} FSReconnectRec, *FSReconnectPtr;#if (defined(__STDC__) && !defined(UNIXCPP)) || defined(ANSICPP)#define fsCat(x,y) x##_##y#else#define fsCat(x,y) x/**/_/**/y#endif/* copy XCharInfo parts of a protocol reply into a xCharInfo */#define fsUnpack_XCharInfo(packet, structure) \    (structure)->leftSideBearing = fsCat(packet,left); \    (structure)->rightSideBearing = fsCat(packet,right); \    (structure)->characterWidth = fsCat(packet,width); \    (structure)->ascent = fsCat(packet,ascent); \    (structure)->descent = fsCat(packet,descent); \    (structure)->attributes = fsCat(packet,attributes)/* copy XFontInfoHeader parts of a protocol reply into a FontInfoRec */#define fsUnpack_XFontInfoHeader(packet, structure) \    (structure)->allExist = ((packet)->font_header_flags & FontInfoAllCharsExist) != 0; \    (structure)->drawDirection = \        ((packet)->font_header_draw_direction == LeftToRightDrawDirection) ? \	LeftToRight : RightToLeft; \    (structure)->inkInside = ((packet)->font_header_flags & FontInfoInkInside) != 0; \ \    (structure)->firstRow = (packet)->font_hdr_char_range_min_char_high; \    (structure)->firstCol = (packet)->font_hdr_char_range_min_char_low; \    (structure)->lastRow = (packet)->font_hdr_char_range_max_char_high; \    (structure)->lastCol = (packet)->font_hdr_char_range_max_char_low; \    (structure)->defaultCh = (packet)->font_header_default_char_low \                           + ((packet)->font_header_default_char_high << 8); \ \    (structure)->fontDescent = (packet)->font_header_font_descent; \    (structure)->fontAscent = (packet)->font_header_font_ascent; \ \    fsUnpack_XCharInfo((packet)->font_header_min_bounds, &(structure)->minbounds); \    fsUnpack_XCharInfo((packet)->font_header_min_bounds, &(structure)->ink_minbounds); \    fsUnpack_XCharInfo((packet)->font_header_max_bounds, &(structure)->maxbounds); \    fsUnpack_XCharInfo((packet)->font_header_max_bounds, &(structure)->ink_maxbounds)#endif				/* _FSERVESTR_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -