GooCanvas 라이브러리 소개

GooCanvas는 Gtk+ 기반의 2D Draw 기능을 수행하는 위젯기반 라이브러리입니다.

내부적으로 Cairo 라이브러리를 이용하고 있으며 기본 위젯인 GooCanvas 는 GtkContainer 를 상속받아 작성되어 있습니다. 모델/뷰 개념을 라이브러리에서 지원하고 있어 실제 화면에 보여지는 부분의 갱신이 필요할 경우 미리 생성해 놓은 모델을 바로 drawing 하도록 하여 새로운 이미지로의 변경이 용이할 것으로 보입니다.

각 이미지 primitive를 item 으로 지칭하며, 이 item 들은 GObject에서 상속된 GooCanvasItemSimple 객체로 부터 파생됩니다. 각 item 들은 해당 속성은 가지고 있지만, 기본 이벤트는 가지고 있지 않습니다. 이후 작업에서 GObject 의 이벤트를 이용하여 필요시 이벤트를 등록 사용하게 됩니다.

이 라이브러리의 특징을 살펴보면 다음의 기능및 특징을 가지고 있습니다.

  • 모델/뷰 개념 지원
  • 기본 항목으로 rect/ellipse/polyline/text/image/grid/group
  • 다각형/호 등을 지원하기 위한 path 를 지원
  • GtkTable Widget 과 같은 layout table 지원
  • Gtk+ Widget 내포
  • 동일 위치의 화면에 보이는 item 순서 조절
  • 모든 항목에 대한 변형(Transformation)이 가능 – cairo_matrix 를 이용
  • 이벤트 핸들링 지원
  • Scrolling/Zooming 지원
  • 캔버스의 크기가 변경되더라고 정적 item 은 크기를 조정
  • 특정 크기 이하에서는 아이템이 보이지 않도록 조정 가능
  • 간단한 에니메이션 효과
  • 여러 단위(Units) 지원 – pixels/points/inches/millimeters

이 라이브러리에 대한 자세한 내용은 http://live.gnome.org/GooCanvas 에서 확인 할 수 있습니다.

Creative Commons License
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.0 Korea License.
This entry was posted in Development and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Notify me of followup comments via e-mail. You can also subscribe without commenting.