操作系统SunOS 4.1.3版本的源码

源代码在线查看: frame.h

软件大小: 23768 K
上传用户: yong_715
关键词: SunOS 操作系统 版本 源码
下载地址: 免注册下载 普通下载 VIP

相关代码

				/*	@(#)frame.h 1.1 92/07/30 SMI	*/								/***********************************************************************/				/*	                      frame.h			               */				/*          Copyright (c) 1985 by Sun Microsystems, Inc.               */				/***********************************************************************/								#ifndef frame_DEFINED				#define frame_DEFINED								#include 								/***********************************************************************/				/*      opaque types for frames and useful constants                   */				/***********************************************************************/								#define FRAME_TYPE	ATTR_PKG_FRAME								typedef	caddr_t 	Frame;				#define FRAME		frame_window_object				#define	ROOT_FRAME	((Frame)0)								extern caddr_t frame_window_object();								/***********************************************************************/				/*	        	Attributes 				       */				/***********************************************************************/								#define	FRAME_ATTR(type, ordinal)	ATTR(ATTR_PKG_FRAME, type, ordinal)				#define	TFRAME_ATTR(type, ordinal)	ATTR(ATTR_PKG_TOOL, type, ordinal)								#define FRAME_ATTR_LIST(ltype, type, ordinal) \					  FRAME_ATTR(ATTR_LIST_INLINE((ltype), (type)), (ordinal))								#define	FRAME_ATTR_UNUSED_FIRST		 0  /* Reserved for future use */				#define	FRAME_ATTR_UNUSED_LAST		31												typedef enum {								/* -----------------  COMPATIBLE with old tool attrs  --------------------- */				/*  WARNING:  These attributes EXACTLY match the win attrs in tool.h        */				/*  		Don't renumber them!				            */								    FRAME_CLOSED		= TFRAME_ATTR(ATTR_BOOLEAN, 7),				    FRAME_INHERIT_COLORS	= TFRAME_ATTR(ATTR_BOOLEAN, 8),				    FRAME_SHOW_LABEL		= TFRAME_ATTR(ATTR_BOOLEAN, 11),				    FRAME_SUBWINDOWS_ADJUSTABLE	= TFRAME_ATTR(ATTR_BOOLEAN, 12),				    FRAME_LABEL			= TFRAME_ATTR(ATTR_STRING, 13),				    FRAME_FOREGROUND_COLOR	= TFRAME_ATTR(ATTR_SINGLE_COLOR_PTR, 14),				    FRAME_BACKGROUND_COLOR	= TFRAME_ATTR(ATTR_SINGLE_COLOR_PTR, 15),				    FRAME_ICON			= TFRAME_ATTR(ATTR_ICON_PTR, 16),				    FRAME_CLOSED_X		= TFRAME_ATTR(ATTR_X, 17),				    FRAME_CLOSED_Y		= TFRAME_ATTR(ATTR_Y, 18),												/* --------------  NEW attr ordinals must be greater than 21  ------------ */								    FRAME_CLOSED_RECT		= FRAME_ATTR(ATTR_RECT_PTR, 22),				    FRAME_CURRENT_RECT		= FRAME_ATTR(ATTR_RECT_PTR, 122),				    FRAME_OPEN_RECT		= FRAME_ATTR(ATTR_RECT_PTR, 23),								    FRAME_ARGS			= FRAME_ATTR(ATTR_INT_PAIR, 24), /* Set only */				    FRAME_ARGC_PTR_ARGV		= FRAME_ATTR(ATTR_INT_PAIR, 25), /* Set only */				    FRAME_CMDLINE_HELP_PROC	= FRAME_ATTR(ATTR_FUNCTION_PTR, 125),/* " " */								    FRAME_BORDER_STYLE		= FRAME_ATTR(ATTR_ENUM, 28),     /* Get only */				    FRAME_EMBOLDEN_LABEL	= FRAME_ATTR(ATTR_BOOLEAN, 128),								    FRAME_NTH_WINDOW		= FRAME_ATTR(ATTR_INT, 29),   /* Zero origin */				    FRAME_NTH_SUBWINDOW		= FRAME_ATTR(ATTR_INT, 30),				    FRAME_NTH_SUBFRAME		= FRAME_ATTR(ATTR_INT, 31),								    FRAME_DONE_PROC		= FRAME_ATTR(ATTR_FUNCTION_PTR, 40),				    FRAME_DEFAULT_DONE_PROC	= FRAME_ATTR(ATTR_FUNCTION_PTR, 41),								    FRAME_NO_CONFIRM		= FRAME_ATTR(ATTR_BOOLEAN, 42),				    FRAME_SHADOW		= FRAME_ATTR(ATTR_INT, 43),				    FRAME_SHOW_SHADOW		= FRAME_ATTR(ATTR_BOOLEAN, 44),				    FRAME_PROPS_ACTION_PROC	= FRAME_ATTR(ATTR_FUNCTION_PTR, 45),				    FRAME_PROPS_ACTIVE		= FRAME_ATTR(ATTR_INT, 46),				    FRAME_NULL_ATTR		= FRAME_ATTR(ATTR_NO_VALUE, 99),    /* No-op */								} Frame_attribute;												typedef enum {			/* values for FRAME_BORDER_STYLE */								    FRAME_DOUBLE,				    FRAME_SHADOWED								} Frame_border_style;												/***********************************************************************/				/* macros                                                              */				/***********************************************************************/								#define frame_fit_all(frame) \				{ \				    Window win; \				    int n = 0; \				    while (win = window_get(frame, FRAME_NTH_SUBWINDOW, n++, 0)) \					window_fit(win); \				    window_fit(frame); \				}								#define frame_done_proc(frame) \				   (((void (*)())(LINT_CAST(window_get(frame, FRAME_DONE_PROC))))(frame))												#define frame_default_done_proc(frame) \				   (((void (*)())(LINT_CAST(window_get(frame, FRAME_DEFAULT_PROC))))(frame))								/***********************************************************************/				#endif ~frame_DEFINED							

相关资源