MenuetOS (KolibriOS) GFX kernel

Kernel-side graphics support
  • EXIS
    Ты написал "Товарищи а вы не хотите попробовать передать все функции графики драйверу vmode.mdr чтобы поправить функции прорисовки не пришлось бы лезть в ядро, я думаю это бы гораздо ускорило и ускорило разработку GFX."

    К сожалению ты плохо понимаешь о чем ты говоришь, к большому сожалению...
  • EXIS wrote:Товарищи а вы не хотите попробовать передать все функции графики драйверу vmode.mdr чтобы поправить функции прорисовки не пришлось бы лезть в ядро, я думаю это бы гораздо ускорило и ускорило разработку GFX.
    Я бы не торопился с этим, хотя бы до разработки нормальной драйверной модели Халявиным.
    EXIS wrote:К Майку:
    В твоей разработке затронуты функции мыши. Вопрос: можно ли добавить новый тип кнопок реагирующие на события:
    если считать прямоугольник кнопки как зону.

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

    Майк пока мне просто интерестно насколько сложно добавить такой вид кнопок в ядро, но в ближайшем будущем это потребуется потому что чтение состояния мыши (6 событие) жрет очень много ресурсов, или я не прав?
    Учитывая простоту MenuetOS во всём, можно было бы просто добавить 2 функции в ядро - определение окна и определение кнопки под курсором мыши. Учитывая удобство программирования приложений - лично я бы серьёзно переделал ядро в отношении событий мыши. Пока же, так как в любом случае существующие программные менеждеры виджетов хранят как данные координаты для каждого виджета, не сложно определить положение курсора относительно окна и перебрать все виджеты, чтобы найти, в каком из них находится курсор в настоящий момент; если это не первое сообщение от мыши над этим виджетом - значит событие "mouse move", если первое - "mouse hover", если последнее (курсор вышел за пределы виджета, и, возможно, вошёл в область другого) - "mouse leave". Такая программная реализация вполне возможна, и к моему "затронуты функции мыши" никакого отношения не имеет, т.к. единственное, что я изменил - отрисовка курсора. Я занимался только графикой, а то, что хочешь ты, определённо не входит и не должно входить в функции видео-драйвера.
    in code we trust
  • К Майку:

    Про мышь понятно, я просто поинтерисовался, но ничего пока не просил. Про виджеты, мой ГУИ к сожалению, (а может даже к счастью) ничего не имеет с ними общего. Про отслеживание мыши: я знаю как это делается, но мне кажется это есть много ресурсов, передача события апликации потом, считование статуса мыши обработка, поиск в массиве. Если доверить все это ядру наверно получилось бы быстрее.

    К Марио и Майку:

    Я не был в курсе, что Халявин разрабатывает интерфейс для драйверов, извеняюсь.
  • oem: ATI Radeon 9200
    Ядро не хочет работать на моей машинке :(
  • Нельзя ли поподробнее, что значит "не хочет"? Проблемы с выводом графики или с чем-то другим?
  • Во-первых, надо было сказать, это ядро подходит к российским дистрам или к официальному.
    Во-вторых, на всех дистрах, что я пробовал, ничего хорошего не получается.
    Выдает oem: ATI Radeon 9200 на загрузочном экране, после загрузки образа в память экран мигает и идет перезагрузка компа.
  • Драйвер подходит только к ядру, с которым он поставляется в архиве. Неужели трудно догадаться? Ни у кого кроме тебя почему-то с пониманием проблем не возникло...
  • Вопрос не про драйвер, а про ядро и дистрибутив.
    Ни у кого кроме тебя почему-то с пониманием проблем не возникло... (с) mike.dld
  • дай список системных файлов, с которыми твое ядро будет работать правильно.
  • Все необходимые файлы находятся в архиве:
    • ARROW.CUR - 32-битный курсор
    • VMODE.MDR - видеодрайвер, специально скомпилированный под приложенное ядро
    • KERNEL.MNT - ядро, специально скомпилированное для работы приложенного драйвера
    Ясно, что при отсутствии какого-либо из этих файлов в образе (или на жёстком диске [KERNEL.MNT] - смотря кто откуда стартует) что-то будет работать неправильно или не работать вообще. Под дистрибутивом я понимаю совокупность программ и ядра. Так вот, если в любом дистрибутиве заменить его ядро на ядро из архива (не забыв добавить и остальные файлы из архива в образ) - всё должно работать нормально.
    in code we trust
  • В Qemu работает, а в реале перезагрузки компа.
    ЗЫ: надо в Тетрис добавить функцию Пауза и горячую клавишу для нее :)
    В принципе надо во всех программах сделать 3-й тип окна - со скином, а то проги типа calc, fasm не свернуть в панель.
  • FASM уже давно со скином, лежит на моём сайте (7z|zip).
  • Есть прогресс?
  • К сожалению нет. Мне еле-еле хватает времени на Tinypad, самому неудобно настолько задерживать релиз...
  • Who is online

    Users browsing this forum: No registered users and 2 guests