[Aptitude-svn-commit] r3507 - in branches/aptitude-0.3/aptitude: . src/vscreen

Daniel Burrows dburrows@costa.debian.org
Wed, 29 Jun 2005 18:04:51 +0000


Author: dburrows
Date: Wed Jun 29 18:04:49 2005
New Revision: 3507

Modified:
   branches/aptitude-0.3/aptitude/ChangeLog
   branches/aptitude-0.3/aptitude/src/vscreen/curses++.h
   branches/aptitude-0.3/aptitude/src/vscreen/vscreen_widget.h
Log:
Don't pass arguments into *add_wch; allow cchar_t*s to be passed.

Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog	(original)
+++ branches/aptitude-0.3/aptitude/ChangeLog	Wed Jun 29 18:04:49 2005
@@ -2,6 +2,11 @@
 
 	* src/vscreen/curses++.h, src/vscreen/vscreen_widget.h:
 
+	  Get rid of the attribute argument, it seems to cause unexpected
+	  behavior.  Add variants to pass in pregenerated cchar_t strings.
+
+	* src/vscreen/curses++.h, src/vscreen/vscreen_widget.h:
+
 	  Expose the add_wch and wadd_wch functions.
 
 2005-06-28  Daniel Burrows  <dburrows@debian.org>

Modified: branches/aptitude-0.3/aptitude/src/vscreen/curses++.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/vscreen/curses++.h	(original)
+++ branches/aptitude-0.3/aptitude/src/vscreen/curses++.h	Wed Jun 29 18:04:49 2005
@@ -447,23 +447,33 @@
   int addch(chtype ch) {return waddch(win, ch);}
   int mvaddch(int y, int x, chtype ch) {return mvwaddch(win, y, x, ch);}
 
-  int add_wch(wchar_t wch, attr_t attrs)
+  int add_wch(wchar_t wch)
   {
     wchar_t tmp[2];
     tmp[0]=wch;
     tmp[1]=0;
 
     cchar_t cch;
-    if(setcchar(&cch, tmp, attrs, PAIR_NUMBER(attrs), 0)==ERR)
+    if(setcchar(&cch, tmp, 0, 0, 0)==ERR)
       return ERR;
     else
       return wadd_wch(win, &cch);
   }
 
-  int mvadd_wch(int y, int x, wchar_t wch, attr_t attrs)
+  int mvadd_wch(int y, int x, wchar_t wch)
   {
     move(y, x);
-    return add_wch(wch, attrs);
+    return add_wch(wch);
+  }
+
+  int add_wch(const cchar_t *cch)
+  {
+    return wadd_wch(win, cch);
+  }
+
+  int mvadd_wch(int y, int x, const cchar_t *cch)
+  {
+    return mvwadd_wch(win, y, x, cch);
   }
 
   int addstr(const std::wstring &str) {return addstr(str.c_str());}

Modified: branches/aptitude-0.3/aptitude/src/vscreen/vscreen_widget.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/vscreen/vscreen_widget.h	(original)
+++ branches/aptitude-0.3/aptitude/src/vscreen/vscreen_widget.h	Wed Jun 29 18:04:49 2005
@@ -266,14 +266,24 @@
   int addch(chtype ch) {return win?win.addch(ch):0;}
   int mvaddch(int y, int x, chtype ch) {return win?win.mvaddch(y,x,ch):0;}
 
-  int add_wch(wchar_t wch, const style &st)
+  int add_wch(wchar_t wch)
   {
-    return win?win.add_wch(wch, st.get_attrs()):0;
+    return win?win.add_wch(wch):0;
   }
 
-  int mvadd_wch(int y, int x, wchar_t wch, const style &st)
+  int add_wch(const cchar_t *cch)
   {
-    return win?win.mvadd_wch(y, x, wch, st.get_attrs()):0;
+    return win?win.add_wch(cch):0;
+  }
+
+  int mvadd_wch(int y, int x, wchar_t wch)
+  {
+    return win?win.mvadd_wch(y, x, wch):0;
+  }
+
+  int mvadd_wch(int y, int x, const cchar_t *cch)
+  {
+    return win?win.mvadd_wch(y, x, cch):0;
   }
 
   int addstr(const char *str) {return win?win.addstr(str):0;}