Re: Программирование в Gtk, Gtk-- и Gdk
On Mon, 24 Jan 2000, Виктор Вислобоков wrote:
> Привет всем.
>
> Не буду флеймить про то какая там идет документация
> по недокументированным Widget'ам (а они на мой взгляд
> как раз и представляют максимальный интерес), а просто
> попрошу тех кого знает кинуть в меня примером по
> поводу использования GtkDrawadble, в плане не просто
> отрисовки через pixmap, а на предмет рисования
> линий, текста, картинок, словом того чем славен canvas.
>
> Возможно я плохо представляю что такое GtkDrawable,
> тогда пихните меня в сторону того Widget'а, который
> дает возможности Canvas в Gtk.
>
> Смотрел Gdk, но там опять все на уровне описания API,
> а примеров я нигде не видел.
>
> Словом, помогите, pls.
>
> Виктор
Рекомендую выкачать (если еще нет) Reference Documentation Project - там
документированы glib, gtk, gdk, gnome (документация на каждую функцию - по
крайне мере так будет). Брать здесь: http://developer.gnome.org/doc/API/
По поводу рисования на Drawable - конкретно этот файл:
http://developer.gnome.org/doc/API/gdk/gdk-drawing-primitives.html
Drawable это либо Pixmap, либо Window. Но это очень низкоуровневый подход.
Возможно больше заинтересует GnomeCanvas - входит в gnome-libs
В доках к ней есть примеры. Наверное это то, что нужно, и скорее
всего там есть все графические примитивы, которые нужны (насколько я помню,
эти примитивы реализованы в gnome-libs - линии, элипсы, текст, картинки,
виджеты - см. Gnome User Interface Library Reference Manual - есть в
исходниках gnome-libs). Вот первые строки "gnome-canvas.h":
/* GnomeCanvas widget - Tk-like canvas widget for Gnome
*
* GnomeCanvas is basically a port of the Tk toolkit's most excellent canvas
* widget. Tk is copyrighted by the Regents of the University of California,
* Sun Microsystems, and other parties.
*
* Copyright (C) 1998 The Free Software Foundation
*
* Authors: Federico Mena <federico@nuclecu.unam.mx>
* Raph Levien <raph@gimp.org>
*/
Так что это должно быть тоже самое, что и Tk Canvas.
Есть еще библиотека libart - сама иногда называется libart_gpl, есть еще
версия libart_lgpl - очень умно написана (использует очень умные алгоритмы
для ускорения и flicker-free drawing) - by Raph Levien. По моему на ней и
построена gnome-canvas.
В принципе есть хорошая и большая (900kb html) книга by Havoc Pendington:
"Gtk and Gnome Application Development": http://developer.gnome.org/doc/GGAD/
Но я рекомендую rdp-docs - так сразу видно, какие функции есть.
Насчет примеров, рекомендую выкачать исходники gtk и gnome-libs - ведь все
виджеты используют gdk drawables для рисования.
Best regards,
-Vlad
Reply to: