Рисование текстуры беспорядка с помощью Cairo

У меня есть коллекция объектов, которые я использую для рисования, и я всегда использовал для этого Cairo. Я решил переключиться на Clutter с Cogl для рисования, но Cogl, кажется, несколько ограничен для 2D. Пока что мне уже не хватает возможности установить штриховой шаблон для линии, а также ширину линии. Я читал две вещи: вы можете использовать необработанные вызовы GL в Cogl и что вы можете использовать ClutterCairoTexture. К сожалению, я не могу найти никакой документации по использованию вызовов GL внутри cogl_begin_gl/cogl_end_gl, а ClutterCairoTexture, по-видимому, устарела.

Было бы невероятно полезно знать, как использовать контекст Cairo с текстурой Clutter, или как теперь выполняется 2D-рисование в Cogl. Я действительно не могу понять, почему вам не дали бы возможность изменить ширину линии в Cogl, но, похоже, этого нет ни в одной документации, которую я читал. Шаблон тире, с которым я могу справиться, если понадобится, но определенно было бы лучше, если бы я мог либо продолжать использовать Cairo в Актере/Текстуре, либо если бы у Cogl был какой-то способ сделать это.

Спасибо.


person Geoff Johnson    schedule 15.11.2012    source источник


Ответы (1)


Оказывается, ответ заключается в том, чтобы продолжать использовать Cairo, но создать ClutterCanvas и добавить его к любому ClutterActor, на котором вы рисуете. После этого вам просто нужно подключить функцию к сигналу отрисовки, которая дает CairoContext в качестве параметра.

person Geoff Johnson    schedule 19.11.2012