Prima

 view release on metacpan or  search on metacpan

include/unix/guts.h  view on Meta::CPAN

	PRotatedFont rotated;
	int          underlinePos;
	int          underlineThickness;
	int          refCnt;
#ifdef USE_XFT
	XftFont     *xft;
	XftFont     *xft_no_aa;
	XftFont     *xft_base;
#endif
} CachedFont, *PCachedFont;

typedef struct _FontKey
{
	int height;
	int width;
	int style;
	int pitch;
	int vector;
	int direction;
	int matrix[4];
	char name[ 256];
} FontKey, *PFontKey;

#define MAX_HGS_SIZE 5

typedef struct
{
	int sp;
	int locked;
	int target;
	int xlfd[MAX_HGS_SIZE];
	int prima[MAX_HGS_SIZE];
} HeightGuessStack;

union _unix_sys_data;

#define FIRST_SYS_TIMER         ((Handle)11)
#define CURSOR_TIMER	        ((Handle)11)
#define MENU_TIMER	        ((Handle)12)
#define MENU_UNFOCUS_TIMER	((Handle)13)
#define LAST_SYS_TIMER          ((Handle)13)

#if defined(sgi) && !defined(__GNUC__)
/* multiple compilation and runtime errors otherwise. must be some alignment tricks */
#define COMPONENT_SYS_DATA_ALIGN  unsigned dummy : 20;
#else
#define COMPONENT_SYS_DATA_ALIGN
#endif

#define COMPONENT_SYS_DATA                                                  \
	Handle self;                                                        \
	struct {                                                            \
		unsigned application           : 1;                         \
		unsigned bitmap                : 1;                         \
		unsigned dbm                   : 1;                         \
		unsigned drawable              : 1;                         \
		unsigned icon                  : 1;                         \
		unsigned image                 : 1;                         \
		unsigned menu                  : 1;                         \
		unsigned pixmap                : 1;                         \
		unsigned popup                 : 1;                         \
		unsigned timer                 : 1;                         \
		unsigned widget                : 1;                         \
		unsigned window                : 1;                         \
		COMPONENT_SYS_DATA_ALIGN                                    \
	} type;                                                             \
	XrmQuarkList q_class_name;                                          \
	XrmQuarkList q_instance_name;                                       \
	int n_class_name;                                                   \
	int n_instance_name

typedef struct _timer_sys_data
{
	COMPONENT_SYS_DATA;
	int timeout;
	Handle who;
	struct _timer_sys_data *older;
	struct _timer_sys_data *younger;
	struct timeval when;
} TimerSysData, *PTimerSysData;

typedef struct
{
	Region region;
	int aperture;
} RegionSysData, *PRegionSysData;

struct  _drawable_sys_data;

#define VIRGIN_GC_MASK  (       GCBackground    \
			|       GCClipMask      \
			|       GCForeground    \
			|       GCFunction      \
			|       GCFillRule      \
			|       GCFillStyle      \
			|       GCTileStipXOrigin \
			|       GCTileStipYOrigin \
			|       GCLineStyle     \
			|       GCSubwindowMode )

typedef struct gc_list
{
	GC gc;
	TAILQ_ENTRY(gc_list) gc_link;
} GCList;

TAILQ_HEAD(gc_head,gc_list);

typedef struct pending_event
{
	Handle recipient;
	Event event;
	TAILQ_ENTRY(pending_event) peventq_link;
} PendingEvent;

typedef struct configure_event_pair
{
	TAILQ_ENTRY(configure_event_pair) link;
	int w, h, match;
} ConfigureEventPair;

include/unix/guts.h  view on Meta::CPAN

	int                          xdnd_disabled;
	/* DND: Receiver */
	Handle                       xdndr_receiver, xdndr_widget, xdndr_last_target;
	XWindow                      xdndr_source;
	long                         xdndr_timestamp;
	int                          xdndr_version, xdndr_last_action, xdndr_action_list_cache;
	Bool                         xdndr_last_drop_response;
	Box                          xdndr_suppress_events_within; /* in prima coordinates */
	/* DND: Sender */
	Handle                       xdnds_widget;
	XWindow                      xdnds_sender, xdnds_target;
	int                          xdnds_version, xdnds_last_action, xdnds_last_action_response;
	Bool                         xdnds_last_drop_response, xdnds_escape_key, xdnds_finished;
	Bool                         xdnds_default_pointers;
	Box                          xdnds_suppress_events_within; /* in root coordinates */

	CustomPointer                xdnd_pointers[5]; /* none,copy,link,move,ask */

	int                          unicode_hex_input_flags;
	char                         unicode_hex_input_buffer[MAX_UNICODE_HEX_LENGTH + 1];

	Bool                         application_stop_signal;

	Bool                         use_xim;
	XIM                          xim;
	XIC                          xic;
	char *                       xic_buffer;
	unsigned int                 xic_bufsize;
} UnixGuts;

extern UnixGuts  guts;
extern UnixGuts* pguts;

#define XCHECKPOINT						\
	{							\
		pguts-> ri[ pguts-> ri_head]. line = __LINE__;			\
		pguts-> ri[ pguts-> ri_head]. file = __FILE__;			\
		pguts-> ri[ pguts-> ri_head]. request = NextRequest(DISP);	\
		pguts-> ri_head++;						\
		if ( pguts-> ri_head >= REQUEST_RING_SIZE)			\
			pguts-> ri_head = 0;					\
		if ( pguts-> ri_tail == pguts-> ri_head) {			\
			pguts-> ri_tail++;					\
			if ( pguts-> ri_tail >= REQUEST_RING_SIZE)		\
				pguts-> ri_tail = 0;				\
		}								\
	}

#define APC_BAD_SIZE INT_MAX
#define APC_BAD_ORIGIN INT_MAX


#define XT_IS_APPLICATION(x)    ((x)->type.application)
#define XT_IS_BITMAP(x)         ((x)->type.bitmap)
#define XT_IS_DBM(x)            ((x)->type.dbm)
#define XT_IS_DRAWABLE(x)       ((x)->type.drawable)
#define XT_IS_ICON(x)           ((x)->type.icon)
#define XT_IS_IMAGE(x)          ((x)->type.image)
#define XT_IS_MENU(x)           ((x)->type.menu)
#define XT_IS_PIXMAP(x)         ((x)->type.pixmap)
#define XT_IS_POPUP(x)          ((x)->type.popup)
#define XT_IS_TIMER(x)          ((x)->type.timer)
#define XT_IS_WIDGET(x)         ((x)->type.widget)
#define XT_IS_WINDOW(x)         ((x)->type.window)

typedef struct _drawable_sys_data
{
	COMPONENT_SYS_DATA;
	XDrawable udrawable;
	XDrawable gdrawable;
	XWindow parent;
	Point origin, size, bsize;
	Point btransform;
	Point ackOrigin, ackSize, ackFrameSize;
	int menuHeight;
	int menuColorImmunity;
	Point decorationSize;
	Handle owner;  /* The real one */
	XWindow real_parent; /* top levels */
	XWindow parentHandle; /* top levels */
	XWindow above;
	Rect zoomRect;
	XGCValues gcv;
	GC gc;
	GCList *gcl;
	Brush fore, back;
	Color saved_fore, saved_back;
	ColorSet colors;
	Region invalid_region, paint_region, current_region, cached_region;
	XRectangle clip_rect;
	FillPattern fill_pattern;
	Point fill_pattern_offset;
	int fill_mode;
	Pixmap fp_tile, fp_stipple, fp_render_pen;
	XID fp_render_picture;
	Matrix matrix;
	int rop;
	int rop2;
	int alpha;
	int line_style;
	unsigned char *dashes;
	int ndashes;
	Point clip_mask_extent, shape_extent, shape_offset;
	PCachedFont font;
	Point cursor_pos;
	Point cursor_size;
	CustomPointer user_pointer;
	int pointer_id;
	Cursor actual_pointer;
	void * recreateData;
	XWindow client;
	struct {
		unsigned antialias                : 1;
		unsigned base_line                : 1;
		unsigned brush_fore               : 1;
		unsigned brush_back               : 1;
		unsigned brush_null_hatch         : 1;
		unsigned clip_by_children	  : 1;
		unsigned clip_owner	          : 1;
		unsigned configured               : 1;
		unsigned cursor_visible		  : 1;



( run in 0.689 second using v1.01-cache-2.11-cpan-364913b4093 )