LINUX.ORG.RU

awesome + cairo. ЯННП, дайтепример.

 ,


0

2

задался целью нарисовать кой-чего кайром, вроде тот же SVG (по сути своей вся векторная графика схожа), а ниасилил. прочитал почти всё, что нашёл, но так ничего из этого не понял или понял не правильно, или оказалось бесполезной портянкой.

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

помнится, что TODD умеет кайро, и рисует просто отлично, следовательно, su - -c "cast TODD".

awesome 3.5.2

    wgr_time.draw = function(wgr_time, wibox, cr, width, height)

            local pi = math.pi

            cr:set_line_width(3)
            cr:set_source_rgba(dec_col("0xffffff30"))

            local a1 =  {
                        --массив точек
                        }

            cr:move_to(a1[1][1],a1[1][2])
            for i in pairs(a1) do
                cr:line_to(a1[i][1],a1[i][2])
            end

            cr:stroke_preserve()
            cr:fill()
        end

кусок из кода, который забросил в дальний угол. скрин из галереи..

емнип, функции описаны где-то в lgi, их немало..

______

ах да, wgr_time - imagebox

TODD ★★ ()
Последнее исправление: TODD (всего исправлений: 3)
Ответ на: комментарий от TODD

емнип, функции описаны где-то в lgi, их немало..

где?

--массив точек

где почитать про позиционирование точек? или моих знаний svg должно хватить? я не могу понять разницу именно в точках. массив точек из svg можно перенести в cairo, или есть что-то, что я мог упустить?

ах да, wgr_time - imagebox

это кагбэ понятно, ибо кайро оно хоть и вектор, но всё же имага. текст-то у нас пангой рисуется.

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

да на всякий уточнил, ибо не помню, на чем рисовал еще..

позиционирование?? я что-то видно не понял,

базовое: черчение линии, окружности, кривых и хорд, заливка, градиенты, обводка
точка имеет коорды {x,y}.. посредством рисования линии LineTo и выводишь многоугольник.. или arc'ом делаешь извилистую линию - на твое усмотрение.. с svg'шками дело имел только когда пихал их в лаунчер.. но ими я не рисовал, на скрине ручная отрисовка линий/кривых(подгонял долго)(окромя иконок на лайаутах)

ls -lRa lgi

ЗЫ:: все-таки наверное я не понял, что ТС хочет

TODD ★★ ()
Последнее исправление: TODD (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.