Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: DrawingArea. Рисование линии.  (Прочитано 2045 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн debuntu

  • Автор темы
  • Участник
  • *
  • Сообщений: 145
    • Просмотр профиля
DrawingArea. Рисование линии.
« : 01 Ноября 2010, 14:19:37 »
Разобрался с текстом и с математикой в gtk, теперь пора изучать графику.
Начну с очень простого вопроса:
Есть drawingarea, нужно чтобы при нажатии мыши начиналось рисование линии, как в Windowsовском Paint. Как это реализовать?

Посмотреть GIMP, GNU Paint, Gnome Paint не предлагать, т.к у них другая технология...
« Последнее редактирование: 01 Ноября 2010, 14:24:13 от i.c »

Оффлайн ierofant

  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля

Оффлайн arrecck

  • Старожил
  • *
  • Сообщений: 1725
    • Просмотр профиля
Re: DrawingArea. Рисование линии.
« Ответ #2 : 01 Ноября 2010, 21:26:36 »
ТС, хронически не хочешь искать в гугле
http://library.gnome.org/devel/gtkmm-tutorial/2.21/chapter-drawingarea.html.en

Оффлайн Vorgehen

  • Любитель
  • *
  • Сообщений: 84
    • Просмотр профиля
Re: DrawingArea. Рисование линии.
« Ответ #3 : 02 Ноября 2010, 01:54:06 »
Качните книгу на РУССКОМ языке,прочтите от корки до корки и потом я думаю вы перестанете такие вопросы задавать.

http://progbook.ru/c/725-griffits-programmirovanie-gnome-gtk.html

Оффлайн arrecck

  • Старожил
  • *
  • Сообщений: 1725
    • Просмотр профиля
Re: DrawingArea. Рисование линии.
« Ответ #4 : 02 Ноября 2010, 02:09:51 »
эта книга устарела, давно

Оффлайн Vorgehen

  • Любитель
  • *
  • Сообщений: 84
    • Просмотр профиля
Re: DrawingArea. Рисование линии.
« Ответ #5 : 02 Ноября 2010, 02:10:52 »
И тем не менее в методических целях.

Пользователь решил продолжить мысль 02 Ноября 2010, 02:12:57:
Если человек владеет общими принципами и базой то синтаксические особенности это пустяк,всего лишь дело привычки.

Пользователь решил продолжить мысль 02 Ноября 2010, 02:28:08:
И этот человек интересовался Glade-2.x поэтому представленная мной ссылка для него является наиболее актуальной.
« Последнее редактирование: 02 Ноября 2010, 02:28:08 от Vorgehen »

Оффлайн ierofant

  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: DrawingArea. Рисование линии.
« Ответ #6 : 02 Ноября 2010, 09:16:53 »
Интересно вы пишите, используете то gtkmm, то gtk. Надо бы что-то одно выбрать, а-то бардак. Если на C++ пишите, то gtkmm берите, если на С то gtk.

Оффлайн debuntu

  • Автор темы
  • Участник
  • *
  • Сообщений: 145
    • Просмотр профиля
Re: DrawingArea. Рисование линии.
« Ответ #7 : 04 Ноября 2010, 19:20:45 »
Имеется код
gboolean
on_drawingarea1_expose_event           (GtkWidget       *widget,
                                        GdkEventExpose  *event,
                                        gpointer         user_data)
{
gdk_draw_line(widget->window,widget->style->white_gc,x,y,widget->allocation.width+x,widget->allocation.height+y);
return FALSE;
}
Должна рисовать Линию при наведении на GtkDrawingArea, но для этого x и y надо обозначить, так чтобы программа могла читать их.
Пробовал
gdk_draw_line(widget->window,widget->style->white_gc,event->x,event->y,widget->allocation.width+event->x,widget->allocation.height+event->y);В C++Builder делал так:
Image1->Canvas->LineTo(X, Y); //Читает X и Y, как часть программы без их объявления пользователемКак это реализовать в Gtk?

gdk_draw_line(widget->window,widget->style->black_gc,event->area.x,event->area.y,event->area.x,event->area.y);Не помогло.

Пользователь решил продолжить мысль 04 Ноября 2010, 19:45:57:
В предложенной книге и доках нет.
« Последнее редактирование: 04 Ноября 2010, 19:45:57 от i.c »

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.