Update of /cvsroot/scsh/scx/c/xlib
In directory usw-pr-cvs1:/tmp/cvs-serv25957
Modified Files:
window.c
Log Message:
fixed AList_To_XWindowAttributes, changed all function from returning
lists to returning vectors.
Index: window.c
===================================================================
RCS file: /cvsroot/scsh/scx/c/xlib/window.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** window.c 2001/07/19 15:34:22 1.7
--- window.c 2001/07/30 14:22:22 1.8
***************
*** 179,183 ****
unsigned long mask = 0;
XWindowChanges WC;
! s48_value l;
char* cname;
int cvalue;
--- 179,183 ----
unsigned long mask = 0;
XWindowChanges WC;
! s48_value l, p;
char* cname;
int cvalue;
***************
*** 185,190 ****
for (l = alist; !S48_NULL_P(l); l = S48_CDR(l)) {
! name = S48_CAR(l);
! value = S48_CDR(l);
cname = s48_extract_string(S48_SYMBOL_TO_STRING(name));
cvalue = (int)s48_extract_integer(value); // only ints here
--- 185,191 ----
for (l = alist; !S48_NULL_P(l); l = S48_CDR(l)) {
! p = S48_CAR(l);
! name = S48_CAR(p);
! value = S48_CDR(p);
cname = s48_extract_string(S48_SYMBOL_TO_STRING(name));
cvalue = (int)s48_extract_integer(value); // only ints here
***************
*** 278,284 ****
&root, &parent, &children, &n);
! S48_GC_PROTECT_2 (v, ret);
! ret = S48_NULL;
// vector of child-windows
--- 279,286 ----
&root, &parent, &children, &n);
! ret = s48_make_vector(3, S48_FALSE);
! v = S48_FALSE;
! S48_GC_PROTECT_2 (v, ret);
// vector of child-windows
***************
*** 287,294 ****
S48_VECTOR_SET(v, i, ENTER_WINDOW(children[i]));
}
- ret = s48_cons(v, ret);
! ret = s48_cons(ENTER_WINDOW(parent), ret);
! ret = s48_cons(ENTER_WINDOW(root), ret);
S48_GC_UNPROTECT();
--- 289,296 ----
S48_VECTOR_SET(v, i, ENTER_WINDOW(children[i]));
}
! S48_VECTOR_SET(ret, 0, ENTER_WINDOW(root));
! S48_VECTOR_SET(ret, 1, ENTER_WINDOW(parent));
! S48_VECTOR_SET(ret, 2, v);
S48_GC_UNPROTECT();
***************
*** 301,305 ****
int rx, ry;
Window child;
! s48_value l;
S48_DECLARE_GC_PROTECT(1);
--- 303,307 ----
int rx, ry;
Window child;
! s48_value v = S48_FALSE;
S48_DECLARE_GC_PROTECT(1);
***************
*** 313,330 ****
return S48_FALSE;
! S48_GC_PROTECT_1 (l);
! l = S48_NULL;
! l = s48_cons( ENTER_WINDOW(child), l );
! l = s48_cons( s48_enter_integer(ry), l );
! l = s48_cons( s48_enter_integer(rx), l );
!
S48_GC_UNPROTECT();
! return l;
}
s48_value Query_Pointer (s48_value Xdisplay, s48_value Xwindow) {
! s48_value l;
Bool ret;
Window root, child;
--- 315,332 ----
return S48_FALSE;
! S48_GC_PROTECT_1 (v);
! v = s48_make_vector(3, S48_FALSE);
! S48_VECTOR_SET(v, 0, s48_enter_integer(rx));
! S48_VECTOR_SET(v, 1, s48_enter_integer(ry));
! S48_VECTOR_SET(v, 2, ENTER_WINDOW(child));
!
S48_GC_UNPROTECT();
! return v;
}
s48_value Query_Pointer (s48_value Xdisplay, s48_value Xwindow) {
! s48_value v;
Bool ret;
Window root, child;
***************
*** 336,353 ****
&root, &child, &r_x, &r_y, &x, &y, &mask);
! S48_GC_PROTECT_1(l);
! l = S48_NULL;
! l = s48_cons(Bits_To_Symbols ((unsigned long)mask, State_Syms), l);
! l = s48_cons(ENTER_WINDOW(child), l);
! l = s48_cons(s48_enter_integer(r_y), l);
! l = s48_cons(s48_enter_integer(r_x), l);
! l = s48_cons(ENTER_WINDOW(root), l);
! l = ret ? S48_TRUE : S48_FALSE;
! l = s48_cons(s48_enter_integer(y), l);
! l = s48_cons(s48_enter_integer(x), l);
!
S48_GC_UNPROTECT();
! return l;
}
--- 338,355 ----
&root, &child, &r_x, &r_y, &x, &y, &mask);
! v = s48_make_vector(8, S48_FALSE);
! S48_GC_PROTECT_1(v);
! S48_VECTOR_SET(v, 0, s48_enter_integer(x));
! S48_VECTOR_SET(v, 1, s48_enter_integer(y));
! S48_VECTOR_SET(v, 2, ret ? S48_TRUE : S48_FALSE);
! S48_VECTOR_SET(v, 3, ENTER_WINDOW(root));
! S48_VECTOR_SET(v, 4, s48_enter_integer(r_x));
! S48_VECTOR_SET(v, 5, s48_enter_integer(r_y));
! S48_VECTOR_SET(v, 6, ENTER_WINDOW(child));
! S48_VECTOR_SET(v, 7, Bits_To_Symbols ((unsigned long)mask, State_Syms));
!
S48_GC_UNPROTECT();
! return v;
}
|