16 мая 2013 г.

Перспективы

Завтра со Светой попробуем рассказать всему коллективу куда мы двигаемся и как пытаемся выйти из кризисной ситуации.

Новостей много, безумных и ярких - нет, зато есть куча прагматизма и проверенных приемов.
В целом ситуация не радужна, но весьма позитивна. Есть свет в конце тоннеля.


C# + Cairo + Gtk = Node editor, продолжаем практику )))

Я потратил крайне много времени на то, чтобы разобраться с прозрачностью в Cairo...
Вроде все просто, но ничего не удавалось.

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

Я полагал, что возможно создать несколько DrawingArea, спокойно наслоить их друг на друга (находясь в пространстве контейнера Fixed) и радоваться результатам - это глупо.

В результате я кардинально пересмотрел подход к созданию GUI и нашол интересное решение.

Теперь все решает класс Node, созданный на основе EventBox. Это такой виртуальный верхний слой, который считает данные, следит за мышкой, реагирует на события.

Малейшее изменение в этом слое влияет на нижний слой - DrawingArea и тут происходит все рисование.

Если кто-то захочет поспорить или предложить лучшее решение - я буду рад, пишите комментарии.

А пока вот такой результат:


Здесь демонстрируется пространство 2000х2000px и работа двух самостоятельных объектов Node, связанных 1 ниткой.

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