LINUX.ORG.RU

История изменений

Исправление Stanson, (текущая версия) :

Gtk просто создает OpenGL окно и рисует там.

Зависит от параметров. Может и в X11 рисовать, и во фреймбуфере. В любом случае оно готовит картинку и отправляет её на экран.

Xt вообще не является тулкитом, а платформой для создания виджетов.

Речь не об этом, а о том, что виджеты должны быть реализованы на стороне сервера, а не на стороне клиента посредством библиотеки рисующей картинки и отправляющей их на экран.

Виджеты это классы окон?,

Типа того. Это окна с отрисовкой содержимого на стороне сервера в зависимости от типа(класса) - кнопка, чекбокс, список, таблица и т.п.

поэтому подозреваю что сначала регистрируются соответствующие классы, а потом действительно посылается команда создай окно определенного класса (кнопка) по x, y.

Да. И потом если на стороне сервера пользовать мышом ткнул или набрал что-то, посылаются event’ы программе. Ну как в Win32 - WM_COMMAND/WM_NOTIFY и т.д. Механизм есть, нужно только расширение протокола для этих server-side виджетов.

Перемещение виджетов и всякие базовые операции точно производятся так. Нужно ли что то сверху?

Да, реализация классов виджетов на стороне сервера и протокол обмена сообщениями виджетов, типа «в окне ID=123 поменять текст на ‘OK’» или там «в окне ID=123 пользователь жмакнул кнопку выпадающего списка».

Исправление Stanson, :

Gtk просто создает OpenGL окно и рисует там.

Зависит от параметров. Может и в X11 рисовать, и во фреймбуфере. В любом случае оно готовит картинку и отправляет её на экран.

Xt вообще не является тулкитом, а платформой для создания виджетов.

Речь не об этом, а о том, что виджеты должны быть реализованы на стороне сервера, а не на стороне клиента посредством библиотеки рисующей картинки.

Виджеты это классы окон?,

Типа того. Это окна с отрисовкой содержимого на стороне сервера в зависимости от типа(класса) - кнопка, чекбокс, список, таблица и т.п.

поэтому подозреваю что сначала регистрируются соответствующие классы, а потом действительно посылается команда создай окно определенного класса (кнопка) по x, y.

Да. И потом если на стороне сервера пользовать мышом ткнул или набрал что-то, посылаются event’ы программе. Ну как в Win32 - WM_COMMAND/WM_NOTIFY и т.д. Механизм есть, нужно только расширение протокола для этих server-side виджетов.

Перемещение виджетов и всякие базовые операции точно производятся так. Нужно ли что то сверху?

Да, реализация классов виджетов на стороне сервера и протокол обмена сообщениями виджетов, типа «в окне ID=123 поменять текст на ‘OK’» или там «в окне ID=123 пользователь жмакнул кнопку выпадающего списка».

Исходная версия Stanson, :

Gtk просто создает OpenGL окно и рисует там.

Зависит от параметров. Может и в X11 рисовать, и во фреймбуфере. В любом случае оно готовит картинку и отправляет её на экран.

Xt вообще не является тулкитом, а платформой для создания виджетов.

Речь не об этом, а о том, что виджеты должны быть реализованы на стороне сервера, а не на стороне клиента посредством библиотеки рисующей картинки.

Виджеты это классы окон?,

Типа того. Это окна с отрисовкой содержимого на стороне сервера в зависимости от типа(класса) - кнопка, чекбокс, список, таблица и т.п.

поэтому подозреваю что сначала регистрируются соответствующие классы, а потом действительно посылается команда создай окно определенного класса (кнопка) по x, y.

Да. И потом если на стороне сервера пользовать мышом ткнул или набрал что-то, посылаются event’ы программе. Ну как в Win32 - WM_COMMAND и т.д. Механизм есть, нужно только расширение протокола для этих server-side виджетов.

Перемещение виджетов и всякие базовые операции точно производятся так. Нужно ли что то сверху?

Да, реализация классов виджетов на стороне сервера и протокол обмена сообщениями виджетов, типа «в окне ID=123 поменять текст на ‘OK’» или там «в окне ID=123 пользователь жмакнул кнопку выпадающего списка».