Как использовать библиотеку Gdk # в C # (моно)?

Я полный новичок с Gtk # и Gdk #, и я полностью потерялся как начать.

Все, что я пытаюсь сделать, это нарисовать точки и линии в любом виджете / растровом изображении / изображении, а затем отобразить их в моем приложении gtk.
На данный момент я понимаю, что должен создать объект Gdk.drawable для доступа к методам DrawPoints (Point [] points) и DrawLine (Point [] points) . Однако для создания экземпляра объекта Drawable мне нужен объект Gdk.GC . Оба конструктора объекта принимают параметр IntPtr , и я не знаю, какой IntPtr мне здесь передать ?! Или конструктор GC также может принимать объект Drawable, а конструктор Drawable может принимать объект GC ...Я оборачиваюсь здесь по кругу!

Это были 24 часа онлайн-исследования, и, за исключением некоторых примеров Python, в которых используются конструкторы, не принимающие параметров, я не смог найти никаких ресурсов для начала работы на C #.

Итак, может ли кто-нибудь показать мне, как правильно использовать эти объекты GC и Drawable для рисования линии с помощью метода DrawLine (Point [] points) ?

GDKEXAMPLE(){
    win = new Gtk.Window ("Gdk nightmare");
    win.SetDefaultSize (400, 300);
    img=new Gtk.Image();
    Drawable dr=new Drawable(null); //how to instantiate this object?
    Gdk.GC gc=new Gdk.GC(null); //how to instantiate this object?
    Point[] pts=new Point[3];
    pts[0]=new Point(10,10);
    pts[1]=new Point(15,20);
    pts[2]=new Point(20,50);

    dr.DrawLines(gc,pts);
    Pixmap pxmp=new Pixmap(dr,100,100);
    img.SetFromPixmap(pxmp,pxmp); //Requests a pixmap and pixmap mask: what mask?
    img.QueueDraw();

    win.Add(img);
    win.ShowAll();
}

Может ли кто-нибудь помочь мне использовать Gdk.GC и Gdk.Drawable , а затем отображать любые точки или линии в виджете Gtk, пожалуйста? может быть, заставив приведенный выше код работать? или любую ссылку на какой-нибудь учебник на C # с использованием этой библиотеки gdk?

6
задан CodesInChaos 2 February 2012 в 14:08
поделиться