LINUX.ORG.RU

C++ и Xlib

 , , ,


0

0

Доброго времени суток, уважаемые ЛОРовцы.
Нарисовать точку можно командой:

XDrawPoint(d,w,DefaultGC(d,s),x,y);
Она будет черной. Подскажите, пожалуйста, каким образом можно рисовать точки других цветов и как можно очистить окно от содержимого.

P.S. Подскажите, пожалуйста, какие еще способы/библиотеки существуют для вывода графики?

Заранее благодарю!

★

Последнее исправление: CYB3R (всего исправлений: 1)

какие еще способы/библиотеки существуют для вывода графики?

SDL. А если хочешь рисовать всякие геометрические примитивы - cairo

esandmann
()

P.S. Подскажите, пожалуйста, какие еще способы/библиотеки существуют для вывода графики?

OpenGL, SDL, Cairo.

Если хочешь рисовать быстро, то OpenGL, если не способен осилить OpenGL(он довольно сложный), то юзай cairo.

RisuX3 ★
()

Подскажите, пожалуйста, каким образом можно рисовать точки других цветов

XSetForeground

как можно очистить окно от содержимого.

XClearWindow

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

+1 за каиру. тормозище, но в линуксе ничего более легковесного, работающего прямо поверх xlib, нету.

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

Если хочешь рисовать быстро, то OpenGL

если нет нормальных дров, то это будет ооооооочень медленно. каирой тоже вполне можно несложную 2д графику рисовать с приемлемой скоростью. нужно создать memory surface, получить на нее указатель, и писать туда напрямую (RGBA). а результат копировать в X surface.

waker ★★★★★
()

Подскажите, пожалуйста, каким образом можно рисовать точки других цветов

Цвета и прочая мишура передаются в параметре gc. XCopyGC и XSetForeground тебе помогут.

i-rinat ★★★★★
()
Ответ на: комментарий от waker

Все-таки надо смотреть OpenGL, т.к. трехмерность может понадобиться тоже.

qzxcvbnm ★
() автор топика
Ответ на: комментарий от RisuX3

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

waker ★★★★★
()
Ответ на: комментарий от i-rinat

Цвета и прочая мишура передаются в параметре gc.
передаются
gc

Подскажите, пожалуйста, каким именно образом это делается?

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

Не знаю, там какая-то магия. Вызываешь функции — оно работает. Внутрь я не лез.

i-rinat ★★★★★
()
Ответ на: комментарий от waker

Расскажите, пожалуйста, подробнее о XSetForeground. Каким образом можно с помощью этой функции устанавливать цвет?

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

Если у вас есть конкретный вопрос, то задайте его. А пока вам стоит просто почитать документацию по xlib.
Гугель очень хороший для вас помощник.

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

Гугель очень хороший для вас помощник.

Нашел пример. Надо разобраться.

А пока вам стоит просто почитать документацию по xlib.

RTFM, согласен.

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