[prev in list] [next in list] [prev in thread] [next in thread] 

List:       elinks-cvs
Subject:    [ELinks] elinks - jonas: set_chars(): Take screen data and attr va...
From:       cvs () pasky ! ji ! cz
Date:       2003-07-31 1:09:11
Message-ID: 20030731010911.14998.qmail () machine ! sinus ! cz
[Download RAW message or body]

This is an automated notification of a change to the ELinks CVS tree.

Author: jonas
Module: elinks
   Tag: <TRUNK>
  Date: Thu Jul 31 01:09:11 2003 GMT

---- Log message:

set_chars(): Take screen data and attr value separately.


---- Files affected:

elinks/src/bfu:
   menu.c (1.81 -> 1.82) 
    http://cvsweb.elinks.or.cz/cvsweb.cgi/elinks/src/bfu/menu.c.diff?r1=1.81&r2=1.82&f=u
   text.c (1.12 -> 1.13) 
    http://cvsweb.elinks.or.cz/cvsweb.cgi/elinks/src/bfu/text.c.diff?r1=1.12&r2=1.13&f=u
elinks/src/terminal:
   draw.c (1.30 -> 1.31) 
    http://cvsweb.elinks.or.cz/cvsweb.cgi/elinks/src/terminal/draw.c.diff?r1=1.30&r2=1.31&f=u
   draw.h (1.10 -> 1.11) 
    http://cvsweb.elinks.or.cz/cvsweb.cgi/elinks/src/terminal/draw.h.diff?r1=1.10&r2=1.11&f=u
elinks/src/viewer/text:
   link.c (1.28 -> 1.29) 
    http://cvsweb.elinks.or.cz/cvsweb.cgi/elinks/src/viewer/text/link.c.diff?r1=1.28&r2=1.29&f=u


---- Diffs:

Index: elinks/src/bfu/menu.c
diff -u elinks/src/bfu/menu.c:1.81 elinks/src/bfu/menu.c:1.82
--- elinks/src/bfu/menu.c:1.81	Thu Jul 31 02:33:29 2003
+++ elinks/src/bfu/menu.c	Thu Jul 31 03:09:06 2003
@@ -324,14 +324,14 @@
 						if (hk == 1) {
 #ifdef DEBUG
 							set_char(term, menu->x + x - 1 + 2,
-								 s, (double_hk ?  menu_selected_hotkey_color : hkco) | c);
+								 s, c, (double_hk ?  menu_selected_hotkey_color : hkco));
 #else
 							set_char(term, menu->x + x - 1 + 2, s, hkco | c);
 #endif
 							hk = 2;
 						} else {
 							set_char(term, menu->x + x - (hk ? 1 : 0) + 2,
-								 s, c | co);
+								 s, c, co);
 						}
 					}
 
@@ -341,7 +341,7 @@
 				     	     x < menu->xw - 4
 				     	     && (c = text[x]);
 				     	     x++)
-						set_char(term, menu->x + x + 2, s, c | co);
+						set_char(term, menu->x + x + 2, s, c, co);
 				}
 			}
 
@@ -358,7 +358,7 @@
 					     (x >= 0) && (menu->xw - 4 >= l - x)
 					     && (c = rtext[x]);
 				    	     x--)
-						set_char(term, menu->x + menu->xw - 2 - l + x, s, c | co);
+						set_char(term, menu->x + menu->xw - 2 - l + x, s, c, co);
 				}
 			}
 		}
@@ -679,13 +679,13 @@
 
 			if (hk == 1) {
 #ifdef DEBUG
-				set_char(term, p, 0, (double_hk ? mainmenu_selected_hotkey_color : hkco) | c);
+				set_char(term, p, 0, c, (double_hk ? mainmenu_selected_hotkey_color : hkco));
 #else
-				set_char(term, p, 0, hkco | c);
+				set_char(term, p, 0, c, hkco);
 #endif
 				hk = 2;
 			} else {
-				set_char(term, p, 0, co | c);
+				set_char(term, p, 0, c, co);
 			}
 		}
 
Index: elinks/src/bfu/text.c
diff -u elinks/src/bfu/text.c:1.12 elinks/src/bfu/text.c:1.13
--- elinks/src/bfu/text.c:1.12	Fri Jun 27 22:42:37 2003
+++ elinks/src/bfu/text.c	Thu Jul 31 03:09:06 2003
@@ -113,7 +113,7 @@
 				if (rw) *rw = w;
 				rw = NULL;
 			}
-			if (term) set_char(term, x + s, *y, co | *tt);
+			if (term) set_char(term, x + s, *y, *tt, co);
 			s++;
 			tt++;
 		}
Index: elinks/src/terminal/draw.c
diff -u elinks/src/terminal/draw.c:1.30 elinks/src/terminal/draw.c:1.31
--- elinks/src/terminal/draw.c:1.30	Thu Jul 31 02:33:30 2003
+++ elinks/src/terminal/draw.c	Thu Jul 31 03:09:06 2003
@@ -14,7 +14,8 @@
 
 
 void
-set_char(struct terminal *term, int x, int y, unsigned c)
+set_char(struct terminal *term, int x, int y,
+	 unsigned char data, unsigned int attr)
 {
 	struct terminal_screen *screen = term->screen;
 	int position = x + term->x * y;
@@ -22,8 +23,8 @@
 	assert(x >= 0 && x < term->x && y >= 0 && y < term->y);
 	if_assert_failed { return; }
 
-	screen->image[position].data = get_screen_char_data(c);
-	screen->image[position].attr = get_screen_char_attr(c);
+	screen->image[position].data = data;
+	screen->image[position].attr = get_screen_char_attr(attr);
 	screen->dirty = 1;
 }
 
@@ -199,10 +200,10 @@
 	int cp4 = c + p[4];
 	int cp5 = c + p[5];
 
-	set_char(t, x, y, c + p[0]);
-	set_char(t, xt, y, c + p[1]);
-	set_char(t, x, yt, c + p[2]);
-	set_char(t, xt, yt, c + p[3]);
+	set_border_char(t, x, y, (unsigned char) p[0], get_screen_char_attr(c));
+	set_border_char(t, xt, y, (unsigned char) p[1], get_screen_char_attr(c));
+	set_border_char(t, x, yt, (unsigned char) p[2], get_screen_char_attr(c));
+	set_border_char(t, xt, yt, (unsigned char) p[3], get_screen_char_attr(c));
 
 	fill_area(t, x, y1, 1, ywt, cp4);
 	fill_area(t, xt, y1, 1, ywt, cp4);
Index: elinks/src/terminal/draw.h
diff -u elinks/src/terminal/draw.h:1.10 elinks/src/terminal/draw.h:1.11
--- elinks/src/terminal/draw.h:1.10	Thu Jul 31 02:33:30 2003
+++ elinks/src/terminal/draw.h	Thu Jul 31 03:09:06 2003
@@ -70,7 +70,7 @@
 	FRAME_X_UP
 };
 
-void set_char(struct terminal *, int, int, unsigned);
+void set_char(struct terminal *, int, int, unsigned char, unsigned int);
 void set_border_char(struct terminal *term, int x, int y, enum border_char border, unsigned char color);
 void set_xchar(struct terminal *, int x, int y, enum frame_cross_direction);
 struct screen_char *get_char(struct terminal *, int, int);
Index: elinks/src/viewer/text/link.c
diff -u elinks/src/viewer/text/link.c:1.28 elinks/src/viewer/text/link.c:1.29
--- elinks/src/viewer/text/link.c:1.28	Wed Jul 30 23:17:43 2003
+++ elinks/src/viewer/text/link.c	Thu Jul 31 03:09:06 2003
@@ -233,7 +233,7 @@
 			struct link_bg *bgchar = &link_bg[i];
 
 			if (bgchar->x != -1 && bgchar->y != -1)
-				set_char(t, bgchar->x, bgchar->y, encode_screen_char(bgchar->c));
+				set_char(t, bgchar->x, bgchar->y, bgchar->c.data, bgchar->c.attr << 8);
 		}
 		free_link(scr);
 	}

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic