浏览代码

perf ui: Reimplement ui_helpline using libslang

Just another step in stopping the use of libnewt in perf.

Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-gh7e1v2z7pzqmok02r6zvp17@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Arnaldo Carvalho de Melo 13 年之前
父节点
当前提交
2ba908ecfc
共有 1 个文件被更改,包括 6 次插入4 次删除
  1. 6 4
      tools/perf/util/ui/helpline.c

+ 6 - 4
tools/perf/util/ui/helpline.c

@@ -1,20 +1,22 @@
 #define _GNU_SOURCE
 #define _GNU_SOURCE
 #include <stdio.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdlib.h>
-#include <newt.h>
 
 
 #include "../debug.h"
 #include "../debug.h"
 #include "helpline.h"
 #include "helpline.h"
 #include "ui.h"
 #include "ui.h"
+#include "libslang.h"
 
 
 void ui_helpline__pop(void)
 void ui_helpline__pop(void)
 {
 {
-	newtPopHelpLine();
 }
 }
 
 
 void ui_helpline__push(const char *msg)
 void ui_helpline__push(const char *msg)
 {
 {
-	newtPushHelpLine(msg);
+	SLsmg_gotorc(SLtt_Screen_Rows - 1, 0);
+	SLsmg_set_color(0);
+	SLsmg_write_nstring((char *)msg, SLtt_Screen_Cols);
+	SLsmg_refresh();
 }
 }
 
 
 void ui_helpline__vpush(const char *fmt, va_list ap)
 void ui_helpline__vpush(const char *fmt, va_list ap)
@@ -63,7 +65,7 @@ int ui_helpline__show_help(const char *format, va_list ap)
 
 
 	if (ui_helpline__last_msg[backlog - 1] == '\n') {
 	if (ui_helpline__last_msg[backlog - 1] == '\n') {
 		ui_helpline__puts(ui_helpline__last_msg);
 		ui_helpline__puts(ui_helpline__last_msg);
-		newtRefresh();
+		SLsmg_refresh();
 		backlog = 0;
 		backlog = 0;
 	}
 	}
 	pthread_mutex_unlock(&ui__lock);
 	pthread_mutex_unlock(&ui__lock);