GTK+ 글자 외곽선 효과 (GtkOutlineLabel)
GTK+ 메일링 리스트 에서 카이로(cairo) API를 이용해 깔끔하게 외곽선 효과 를 구현하는 방법의 글을 보고 테스트 삼아 위젯으로 만들어 보았습니다. 이름하여 ‘GtkOutlineLabel’ 위젯, 실행 화면은 다음과 같습니다.
API는 간단하게 외곽선 색상과 굵기를 지정할 수 있는 기능만 있습니다. 다음은 테스트 프로그램의 일부입니다.
int
main (int argc, char **argv)
{
GtkWidget *window;
GtkWidget *label;
GtkWidget *vbox;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
make_transparent_window (window);
gtk_widget_show (window);
vbox = gtk_vbox_new (FALSE, 0);
gtk_widget_show (vbox);
gtk_container_add (GTK_CONTAINER (window), vbox);
label = gtk_outline_label_new ("<span font="Bold 50">Hello, 안녕?</span>");
gtk_widget_show (label);
gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0);
label = gtk_outline_label_new ("<span font="Bold 30" color="red">Hello, 안녕?</span>");
gtk_widget_show (label);
gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0);
gtk_outline_label_set_line_color (GTK_OUTLINE_LABEL (label), "#000000");
gtk_outline_label_set_line_width (GTK_OUTLINE_LABEL (label), 1.0);
gtk_main ();
return 0;
}