Tag Archives: GTK+

GObject 객체 지향 프로그래밍 (4)

이전 글에 계속 이어집니다.
객체 속성 정보 얻기
EdcHost 객체의 속성 정보를 실행 중에 얻어볼까 합니다.
왜 또 갑자기 불필요한 예제를 꺼내냐고 물어보실 분이 있을 것 같아 말하자면, 가끔 요긴한 경우가 있기 때문입니다. 예를 들어 EdcHost 객체를 상속받은 EdcHostDoosan, EdcHostKia, EdcHostLitte 객체가 여러 개 존재할 경우, 이 객체들은 EdcHost의 공통 속성 뿐 아니라 본인의 속성도 따로 가집니다. 이러한 [...] Continue reading

Posted in Development | Tagged , , , | Comments Off

GObject 객체 지향 프로그래밍 (3)

이 글은 회사 개발팀 내부 세미나를 위해 작성중인 글입니다. 하지만, 블로그란 매체의 특성상 외부에도 공개되고 있는데, 댓글은 달지 않아도 접속하는 사람들 대부분이 제가 아는 분일 거라 생각하고 한마디 하자면, 세상에 공짜가 어디 있는가, 주저하지 말고 내게 연락해서 술 한 잔 사게! (언젠가부터 술 강요 청탁 협박 블로그가 되어 가고 있군…)
속성 (Properties) 추가하기
이제, GObject 속성(properties) 기능을 [...] Continue reading

Posted in Development | Tagged , , , | Comments Off

GTK+ 2.16 릴리스

GTK+ 2.16 버전이 릴리스되었는데, 추가된 기능 중에서 관심 있는 부분만 우리말로 정리해 보았습니다.
새로 추가된 API

가로 / 세로 방향성을 가지는 위젯이 모두 GtkOrientable 인터페이스를 기반으로 다시 구현되었습니다. 상자(GtkBox), 버튼상자(GtkButtonBox), 스케일(GtkScale), 볼륨버튼(GtkVolumeButton), 스크롤바(GtkScrollBar), 구분자(GtkSeparator) 등을 비롯한 다수의 위젯을 이제 gtk_orientable_set_orientation() API를 이용하면 실행중에도 쉽게 방향을 변경할 수 있습니다.
메뉴 / 툴바 등을 하나의 사용자 액션으로 통합 관리하는데 매우 효율적인 [...] Continue reading

Posted in Development | Tagged | Comments Off

GTK+ 글자 외곽선 효과 (GtkOutlineLabel)

GTK+ 메일링 리스트에서 카이로(cairo) API를 이용해 깔끔하게 외곽선 효과를 구현하는 방법의 글을 보고 테스트 삼아 위젯으로 만들어 보았습니다. 이름하여 ‘GtkOutlineLabel’ 위젯, 실행 화면은 다음과 같습니다.

API는 간단하게 외곽선 색상과 굵기를 지정할 수 있는 기능만 있습니다. 다음은 테스트 프로그램의 일부입니다.
int
main (int argc, char **argv)
{
GtkWidget *window;
GtkWidget *label;
GtkWidget *vbox;

gtk_init (&argc, &argv);

[...] Continue reading

Posted in Development | Tagged | Comments Off

GTK+ 투명 배경 만들기 (OSD 효과)

이번에는 컴피즈와 같은 비디오 카드 3D 기능이 필요하지 않은 기법으로 OSD 효과를 만들어 보겠습니다. 물론 부드러운 반투명 배경 등의 효과는 불가능하지만, 윈도우의 특정 영역을 아예 마스킹(masking)해서 비워버리는 방식이기 때문에 마우스 입력도 통과해 버립니다. 이번에도 역시 스크린샷 먼저!

여기서 사용한 기법은 gtk_widget_shape_combine_mask() 함수를 이용해 위젯(윈도우)의 유효 영역을 비트맵으로 지정하는 것입니다. 여기서 비트맵이란 1비트가 하나의 픽셀을 가리키는 그래픽 [...] Continue reading

Posted in Development | Tagged | Comments Off