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

📄 hk_public.h

📁 操作系统SunOS 4.1.3版本的源码
💻 H
📖 第 1 页 / 共 5 页
字号:
/* Raster-op */#ifndef LOCOREtypedef int Hk_raster_op;#endif !LOCORE#define HK_ROP_CLR			0x00#define HK_ROP_SRC_NOR_DST		0x01#define HK_ROP_NSRC_AND_DST		0x02#define HK_ROP_NOT_SRC			0x03#define HK_ROP_SRC_AND_NDST		0x04#define HK_ROP_NOT_DST			0x05#define HK_ROP_SRC_XOR_DST		0x06#define HK_ROP_SRC_NAND_DST		0x07#define HK_ROP_SRC_AND_DST		0x08#define HK_ROP_SRC_XNOR_DST		0x09#define HK_ROP_DST			0x0a#define HK_ROP_NSRC_OR_DST		0x0b#define HK_ROP_SRC			0x0c#define HK_ROP_SRC_OR_NDST		0x0d#define HK_ROP_SRC_OR_DST		0x0e#define HK_ROP_SET			0x0f/* *********************************************************************** * WARNING: The following typedefs must be kept in sync with the * corresponding GT typedefs: Hk_buffer, Hk_plane_group, Hk_wlut_update, * and Hk_clut_update. *********************************************************************** *//* Plane group */#ifndef LOCOREtypedef int Hk_plane_group;#endif !LOCORE#define HK_8BIT_RED			0#define HK_8BIT_GREEN			1#define HK_8BIT_BLUE			2#define HK_8BIT_OVERLAY			3#define HK_24BIT			4/* Draw buffer */#ifndef LOCOREtypedef int Hk_buffer;#endif !LOCORE#define HK_BUFFER_A			0#define HK_BUFFER_B			1/* Stereo mode */#ifndef LOCOREtypedef int Hk_stereo_mode;#endif !LOCORE#define HK_STEREO_NONE			0#define HK_STEREO_LEFT			1#define HK_STEREO_RIGHT			2/* Spline basis function */#ifndef LOCOREtypedef int Hk_basis;#endif !LOCORE#define HK_BASIS_BSPLINES		0#define HK_BASIS_BEZIER			1/* Curve placement */#ifndef LOCOREtypedef int Hk_curve_placement;#endif !LOCORE#define HK_UNIFORM			0#define HK_NON_UNIFORM			1/* Matrix type */#ifndef LOCOREtypedef int Hk_matrix_type;#endif !LOCORE#define HK_AFFINE_MATRIX		0#define HK_NON_AFFINE_MATRIX		1/* Window lookup table mask bits */#define HK_WLUT_MASK_IMAGE		0x01#define HK_WLUT_MASK_OVERLAY		0x02#define HK_WLUT_MASK_PLANE_GROUP	0x04#define HK_WLUT_MASK_CLUT		0x08#define HK_WLUT_MASK_FCS		0x10/* Fast clear none */#define HK_FCS_NONE			(-1)/* Default CLUT table for WLUT updates */#define HK_DEFAULT_CLUT			(-1)#ifndef LOCORE/* *-------------------------------------------------------------- * * Typedefs for geometry structures * *-------------------------------------------------------------- *//* Polyline vertex */typedef struct Hk_vertex Hk_vertex;struct Hk_vertex {	float x, y, z;};/* Polyline vertex with color */typedef struct Hk_rgb_vertex Hk_rgb_vertex;struct Hk_rgb_vertex {	float x, y, z;	float r, g, b;};/* Polyline vertex with header */typedef struct Hk_vertex_h Hk_vertex_h;struct Hk_vertex_h {	unsigned header;	float x, y, z;};/* Polyline vertex with color and header */typedef struct Hk_rgb_vertex_h Hk_rgb_vertex_h;struct Hk_rgb_vertex_h {	unsigned header;	float x, y, z;	float r, g, b;};/* Triangle vertex with normal */typedef struct Hk_tri_normal Hk_tri_normal;struct Hk_tri_normal {	unsigned tri_header;	float x, y, z;	float nx, ny, nz;};/* Triangle vertex with normal and color */typedef struct Hk_tri_normal_color Hk_tri_normal_color;struct Hk_tri_normal_color {	unsigned tri_header;	float x, y, z;	float nx, ny, nz;	float r, g, b;};/* Triangle vertex with 2 normals */typedef struct Hk_tri_vfnormal Hk_tri_vfnormal;struct Hk_tri_vfnormal {	unsigned tri_header;	float x, y, z;	float vnx, vny, vnz;	float fnx, fny, fnz;};/* Triangle vertex with 2 normals and 2 colors */typedef struct Hk_tri_vfnormal_vfcolor Hk_tri_vfnormal_vfcolor;struct Hk_tri_vfnormal_vfcolor {	unsigned tri_header;	float x, y, z;	float vnx, vny, vnz;	float fnx, fny, fnz;	float vr, vg, vb;	float fr, fg, fb;};/* * WARNING:  The following structures contains doubles and must be padded * so that all doubles start on an even 8 byte (2 word) boundary, and * the sizeof(struct) is a multiple of 8 bytes. *//* Curve control point */typedef struct Hk_dcoord4 Hk_dcoord4;struct Hk_dcoord4 {	double x, y, z, w;};/* *-------------------------------------------------------------- * * Typedefs for attribute structures * *-------------------------------------------------------------- *//* Color */typedef struct Hk_rgb Hk_rgb;struct Hk_rgb {	float r;	float g;	float b;};/* Position vector */typedef struct Hk_xyz Hk_xyz;struct Hk_xyz {	float x;	float y;	float z;};/* Direction vector */typedef struct Hk_normal Hk_normal;struct Hk_normal {	float nx;	float ny;	float nz;};/* Line pattern */typedef struct Hk_pattern Hk_pattern;struct Hk_pattern {	float offset;	int num_segments;	float on_off_seg[1];};/* * WARNING:  The following structures contains doubles and must be * padded so that all doubles start on an even 8 byte (2 word) * boundary, and the sizeof(struct) is a multiple of 8 bytes. *//* Curve approximation */typedef struct Hk_curve_approx Hk_curve_approx;typedef struct Hk_curve_approx Hk_trim_approx;struct Hk_curve_approx {	double approx_value;	Hk_curve_type approx_type;	int padding;		/* Make sizeof(struct) on 8-byte boundary */};/* Surface approximation */typedef struct Hk_surf_approx Hk_surf_approx;struct Hk_surf_approx {	double u_approx_value;	double v_approx_value;	Hk_surf_type approx_type;	int padding;		/* Make sizeof(struct) on 8-byte boundary */};/* General style */typedef struct Hk_general_style Hk_general_style;struct Hk_general_style {	Hk_interior_style real_style;	unsigned general_info;};/* Isoparametric curve info */typedef struct Hk_iso_curve_info Hk_iso_curve_info;struct Hk_iso_curve_info {	int flag;	Hk_curve_placement placement;	int u_count;	int v_count;};/* Polygon material properties */typedef struct Hk_material_properties Hk_material_properties;struct Hk_material_properties {	float ambient_reflection_coefficient;	float diffuse_reflection_coefficient;	float specular_reflection_coefficient;	float specular_exponent;};/* Polygon hatch style */typedef struct Hk_hatch_style Hk_hatch_style;struct Hk_hatch_style {	int hatch_transparency;	unsigned hatch_pattern[HK_SD_MAX];};/* Glyph */typedef struct Hk_glyph Hk_glyph;struct Hk_glyph {	float width;	unsigned *char_pkt;		/* Pointer to polyline commands */};/* Font */typedef struct Hk_font Hk_font;struct Hk_font {	float top_line;	float bottom_line;	float max_width;	int num_ch;	Hk_glyph *ch_data[1];		/* [num_ch] */};/* Font table */typedef struct Hk_font_table Hk_font_table;struct Hk_font_table {	int num_char_sets;	int num_font_ids;	Hk_font *desc[1];		/* [num_char_sets][num_font_ids] */};/* Text character set */typedef struct Hk_character_set Hk_character_set;struct Hk_character_set {	int codeset;	int character_set;};/* Text font ID */typedef struct Hk_font_id Hk_font_id;struct Hk_font_id {	int codeset;	int font_id;};/* Text up vector */typedef struct Hk_xy Hk_xy;struct Hk_xy {	float x;	float y;};/* Text alignment */typedef struct Hk_text_alignment Hk_text_alignment;struct Hk_text_alignment {	Hk_text_h_alignment halign;	Hk_text_v_alignment valign;};/* Marker geometry */typedef struct Hk_marker Hk_marker;struct Hk_marker {	float size;	unsigned *packet;		/* Pointer to polyline commands */};/* Marker definition */typedef struct Hk_marker_type Hk_marker_type;struct Hk_marker_type {	int num_tessellations;	Hk_marker markers[1];		/* [num_tessellations] */};/* Depth-cue parameters */typedef struct Hk_depth_cue_parameters Hk_depth_cue_parameters;struct Hk_depth_cue_parameters {	float z_front;	float z_back;	float scale_front;	float scale_back;};/* Matrix definitions */typedef float Hk_fmatrix[16];typedef double Hk_dmatrix[16];typedef struct Hk_model_transform Hk_model_transform;struct Hk_model_transform {	Hk_dmatrix matrix;	double scale;};/* Aspect ratio definition */typedef struct Hk_aspect_ratio Hk_aspect_ratio;struct Hk_aspect_ratio {	Hk_aspect flag;	float ratio;};/* Window boundary */typedef struct Hk_window_boundary Hk_window_boundary;struct Hk_window_boundary {	int xleft;	int ytop;	int width;	int height;};/* * WARNING:  The following structure contains doubles and must be * padded so that all doubles start on an even 8 byte (2 word) * boundary, and the sizeof(struct) is a multiple of 8 bytes. *//* Viewport definition */typedef struct Hk_view Hk_view;struct Hk_view {	float xcenter;			/* Viewport center */	float ycenter;	float xsize;			/* Half size */	float ysize;	Hk_dmatrix vt;			/* Viewing matrix */	Hk_dmatrix ivt;			/* Inverse of vt */	double scale_xy;		/* Max of X and Y scale */	double scale_z;			/* ZScale(vt) * Sign(vt) */};/* NPC clipping limits definition */typedef struct Hk_clipping_limits Hk_clipping_limits;struct Hk_clipping_limits {	float xmin;	float ymin;	float zmin;	float xmax;	float ymax;	float zmax;};/* Z-range */typedef struct Hk_z_range Hk_z_range;struct Hk_z_range {	unsigned zfront;	unsigned zback;};/* PHIGS filter */typedef unsigned Hk_phigs_filter[HK_NUMBER_FILTER_WORDS];/* Name set */typedef struct Hk_name_set_update Hk_name_set_update;struct Hk_name_set_update {	Hk_phigs_filter del_mask;	Hk_phigs_filter add_mask;};/* Filter pair */typedef struct Hk_filter_pair Hk_filter_pair;struct Hk_filter_pair {	Hk_phigs_filter inclusion;	Hk_phigs_filter exclusion;};/* Model clipping plane */typedef struct Hk_mcp Hk_mcp;struct Hk_mcp {	float x;	float y;	float z;	float nx;	float ny;	float nz;};/* Pick hit */typedef struct Hk_pick_hit Hk_pick_hit;struct Hk_pick_hit {

⌨️ 快捷键说明

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