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