[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(mgp-users 00569) Re: side-by-side positioning



Dear List,

another update to the 'side-by-side' patch. 'xsystem' now also knows about 
'xoffset'. This enables you to place external programs more easily.

The complete patch to the cvs tree is again included.

Regards,
Chris

-- 
Dipl.-Inf. Christopher Drexler, Lehrst.f. Mustererkennung _    __  __ ___ 
Institut f. Informatik, Universitaet Erlangen-Nuernberg  | |  |  \/  | __|
WWW : http://www5.informatik.uni-erlangen.de/~drexler  	 | |__| |\/| | _| 
GPG : http://www.keyserver.net                           |____|_|  |_|___|
Index: kit/draw.c
===================================================================
RCS file: /cvsmgp/kit/draw.c,v
retrieving revision 1.185
diff -u -r1.185 draw.c
--- kit/draw.c	2001/03/17 09:48:14	1.185
+++ kit/draw.c	2001/05/19 08:43:03
@@ -259,6 +259,7 @@
 	struct render_state *state;
 {
 	state->ypos = 0;
+	state->xoffset = 0;
 	state->have_mark = 0;
 	free_alloc_colors(&image_clr);
 	free_alloc_colors(&font_clr);
@@ -468,6 +469,10 @@
 	}
 
 	switch(cp->ct_op) {
+	case CTL_XOFFSET:
+		state->xoffset = state->width * cp->ctf_value / 100;
+		break;
+
 	case CTL_SIZE:
 		char_size[caching] = state->height * cp->ctf_value / 100;
 #ifdef FREETYPE
@@ -1835,6 +1840,7 @@
 	 *			leftmost and uppermost dot.
 	 *	state->ypos	absolute y position in main window.
 	 */
+	xpos += state->xoffset; 
 	width = (state->linewidth <= state->width - xpos)
 			? state->linewidth
 			: state->width - xpos;
@@ -3391,7 +3397,7 @@
 	XGetGeometry(display, window_id, &dumwin, 
 		&xloc, &yloc, &xsiz, &ysiz, &dumint, &dumint);
 	state->linewidth = xsiz;
-	xloc = set_position(state);
+	xloc = set_position(state) + state->xoffset;
 	yloc = state->ypos;
 	XMoveWindow(display, window_id, xloc, yloc);
 	state->ypos += ysiz;
Index: kit/globals.c
===================================================================
RCS file: /cvsmgp/kit/globals.c,v
retrieving revision 1.44
diff -u -r1.44 globals.c
--- kit/globals.c	2001/02/08 08:54:13	1.44
+++ kit/globals.c	2001/05/19 08:43:03
@@ -147,5 +147,6 @@
 /*CTL*/	{ CTL_PCACHE,		T_SP,	"pcache", 6 },
 /*CTL*/	{ CTL_ANIM,		T_STR,	"anim", 4 },
 /*CTL*/	{ CTL_VALIGN,		T_STR,	"valign", 6 },
+/*CTL*/	{ CTL_XOFFSET,		T_DOUBLE, "xoffset", 7 },
 	{ 0, 0, NULL, 0 },
 };
Index: kit/grammar.y
===================================================================
RCS file: /cvsmgp/kit/grammar.y,v
retrieving revision 1.37
diff -u -r1.37 grammar.y
--- kit/grammar.y	2001/02/08 08:54:13	1.37
+++ kit/grammar.y	2001/05/19 08:43:03
@@ -697,7 +697,8 @@
 %token KW_LINESTART KW_LINEEND KW_MARK KW_SYSTEM KW_FILTER KW_ENDFILTER
 %token KW_QUALITY KW_ICON KW_LEFTFILL KW_XSYSTEM KW_VFCAP KW_TFONT KW_TFDIR
 %token KW_DEFFONT KW_FONT KW_TFONT0 KW_EMBED KW_ENDEMBED KW_NEWIMAGE
-%token KW_CHARSET KW_TMFONT KW_PCACHE KW_TMFONT0 KW_ANIM KW_VALIGN
+%token KW_CHARSET KW_TMFONT KW_PCACHE KW_TMFONT0 KW_ANIM KW_VALIGN 
+%token KW_XOFFSET
 
 %type <ct> toplevel
 %type <ct> line defaultline tabline shellline deffontline
@@ -763,6 +764,8 @@
 	| KW_AGAIN	{ $$ = gen_void(CTL_AGAIN); }
 	| KW_MARK	{ $$ = gen_void(CTL_MARK); }
 	| KW_PAGE	{ $$ = gen_void(CTL_PAGE); }
+	| KW_XOFFSET NUM	{ $$ = gen_double_int(CTL_XOFFSET, $2); }
+	| KW_XOFFSET DOUBLE	{ $$ = gen_double(CTL_XOFFSET, $2); }
 	| KW_SIZE NUM	{ $$ = gen_double_int(CTL_SIZE, $2); }
 	| KW_SIZE DOUBLE	{ $$ = gen_double(CTL_SIZE, $2); }
 	| KW_HGAP NUM	{ $$ = gen_int(CTL_HGAP, $2); }
Index: kit/mgp.h
===================================================================
RCS file: /cvsmgp/kit/mgp.h,v
retrieving revision 1.126
diff -u -r1.126 mgp.h
--- kit/mgp.h	2001/02/03 18:46:50	1.126
+++ kit/mgp.h	2001/05/19 08:43:03
@@ -380,6 +380,7 @@
 	u_int height;
 	u_int width;
 	u_int ypos;
+	u_int xoffset;
 	int have_mark;
 	u_int mark_ypos;
 	u_int repaint;
Index: kit/scanner.l
===================================================================
RCS file: /cvsmgp/kit/scanner.l,v
retrieving revision 1.21
diff -u -r1.21 scanner.l
--- kit/scanner.l	2001/02/08 08:54:14	1.21
+++ kit/scanner.l	2001/05/19 08:43:04
@@ -164,6 +164,7 @@
 (PCACHE|pcache)	return KW_PCACHE;
 (ANIM|anim)	return KW_ANIM;
 (VALIGN|valign)	return KW_VALIGN;
+(XOFFSET|xoffset)	return KW_XOFFSET;
 
 [ \n\t]		;
 ","		return COMMA;

Attachment: pgpdaUcTE05FJ.pgp
Description: PGP signature