LINUX.ORG.RU
ФорумTalks

использование GUI в Linux


0

0

Как я понимаю все системные вызовы в Линуксе идут через прерывание 80h. Однако из описаний этого сервиса никак не пойму как написать программу, чтобы она в иксах рисовала например message box или какое-нибудь окно?

У меня стоит Linux Mandrake 9.0 Так вот у меня почему то вообще нет файла gnomeui.so и также нет Xlib.so Перерыл весь каталог /usr/ и нашел что то похожее, но не то: libgnomeui.so.32 libx???. Команда locate необходимых библиотек тоже не находит. Что мне надо сделать? Может мне поставить какой-нибудь RPM? Позволяет ли вообщее этот Mandrake GUI-программирование? Охото что-нибудь нормальное написать, а то через int 0x80 все какое то УБОГОЕ (вывод ТОЛЬКО ЧЕРНО-БЕЛОГО ТЕКСТА, мало сервисов). Вот говорят: Linux, Linux, а в этом Linuxe только вызов fork по-моему заслуживает внимания, а так раньше в DOS-е я писал гораздо лучшие программы (мог писать в любом месте экрана любым цветом, мог программить CD-RW, мог рисовать в графическом режиме 800*600 с 24-битным цветом да и много еще чего). В Windows тоже можно всякие окошки рисовать и тому подобное. А в Linux-е хрен чего сделаешь, вся информация закрытая. На Си-программирование конечно полно всякой дряни, но она мне не нужна. Поэтому у кого есть опыт программирования в Linux-е, то поделитесь им пожалуйста со мной.

anonymous
Ответ на: комментарий от krupskiy

>рудно было сделать в том же WinAPI простые функции типа SetScreenMode, PutPixel и т.д.?

svgalib.org

#include <stdlib.h>
#include <vga.h>
 
int main(void)
{
   vga_init();
   vga_setmode(G320x200x256);
   vga_setcolor(4);
   vga_drawpixel(10, 10);
 
   sleep(5);
   vga_setmode(TEXT);

   return EXIT_SUCCESS;
}

SatanClaus ★★★
()
Ответ на: комментарий от krupskiy

> В каком месте? int10h не менялось с 80ых годов и работает ВЕЗДЕ это раз, и "отвязываться" от железа можно было не нагружая кодера это два. Я не понимаю, трудно было сделать в том же WinAPI простые функции типа SetScreenMode, PutPixel и т.д.? И пусть винды через драйвера разбираются как это сделать на конкретной видюхе...

int10 не работает например на СПАРКе. Сам догадаешься почему или сказать? :-)))

Тебе наверное Xlib понравится. Ниже этого в Юниксе незачем лазить. PutPixel там есть.

Beria.

anonymous
()
Ответ на: комментарий от anonymous

> int10 не работает например на СПАРКе. Сам догадаешься почему или сказать? :-)))

Интересно, тут многие имеют дома спарк? :) Или альфу? Или амигу какую-нить? :))))

> Тебе наверное Xlib понравится. Ниже этого в Юниксе незачем лазить. PutPixel там есть.

Примеры покажи какие-нить... Чисто переключение режимов, полноэкранный режим, примитивное рисование и вывод картинок.

krupskiy
()
Ответ на: комментарий от krupskiy

> Интересно, тут многие имеют дома спарк? :) Или альфу? Или амигу какую-нить? :))))

Макинтош многие имеют :-))) Правда не сильно многие, но мои программы народ громоздил и на Спарк и на Альфу и на Макинтош...

> Примеры покажи какие-нить... Чисто переключение режимов, полноэкранный режим, примитивное рисование и вывод картинок.

Переключения режимов в Х-ах нет. Это "не принято". Не у себя дома, чай. Программа обязана уметь работать по сети - программа на одной машине, а юзер на другой. И его видеорежим трогать низзя!

Вот тебе список самых необходимых функций: XOpenDisplay DefaultScreen RootWindow XCreateSimpleWindow XCreatePixmap XCopyArea XNextEvent XSetForeground XLoadQueryFont XDrawImageString XDrawLine изучай. Изучишь эти - с остальными проблем не будет.

Но только сейчас на таком низком уровне мало кто работает. Трудоемко это и не нужно. Все больше используют наборы виджетов типа Qt, GTK, wxWidgetsи т.п.

Beria.

anonymous
()
Ответ на: комментарий от anonymous

> Переключения режимов в Х-ах нет. Это "не принято"

А как тогда всякие кваки и анрилы режимами щёлкают?

> Изучишь эти - с остальными проблем не будет.

Сенькс, буду вникать.

> Все больше используют наборы виджетов типа Qt, GTK, wxWidgetsи т.п.

Там всё также ужасно как и в виндовых тулкитах?

krupskiy
()
Ответ на: комментарий от krupskiy

> > Переключения режимов в Х-ах нет. Это "не принято"

> А как тогда всякие кваки и анрилы режимами щёлкают?

Не знаю. Это игры. Они могут "нарушать правила". При этом они наверное теряют часть возможностей.

> > Все больше используют наборы виджетов типа Qt, GTK, wxWidgetsи т.п.

> Там всё также ужасно как и в виндовых тулкитах?

Я работал с Qt. Мне показалось, что его очень просто освоить. Гораздо проще чем MFC.

Beria.

anonymous
()
Ответ на: комментарий от krupskiy

> А как тогда всякие кваки и анрилы режимами щёлкают?

SDL?

sin_a ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.