> man operating_systems
Центр информации по операционным системам :: Форумы :: Общие :: Разное
 
<< Предыдущая тема | Следующая тема >>
Как можно сделать графическую оболочку для моей ОС
Переход на страницу  1 [2] 3 4
Модераторы: Roman I Khimov, Wanderer, Dron
Автор Добавил
Димон
Суббота 11.11.2006 19:43
ID пользователя #761
Зарегистрирован: Пятница 10.11.2006 21:29
Сообщений: 27
Или скажите какую нибуть инфу чтобы я мог почитать по операционным системам вообще.
Наверх
alman
Суббота 11.11.2006 19:58

ID пользователя #753
Зарегистрирован: Суббота 28.10.2006 01:21
Местонахождение: планета Земля
Сообщений: 95
Димон написал(а) ...
Cначала о графических библиотеках. Что это такое и как его едят?


Графическая библиотека представляет приложениям некий программный интерфейс. Например, для отрисовки окон, вывода текста, чтения событий от клавиатуры/мыши/других устройств ввода.

Причем, под окном пониается не стандартное окно с заголовком и декорациями, а некая, возможно перекрывающаяся, область экрана.

Помимо этого, графические библиотеки обычно генерируют события при изменении области видимости окна, например, при перекрытии его другим.

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

Элементы пользовательского интерфейса реализуются на основе примитивов окон. Т.е. кнопка - это окно с надписью и тенью. Каждый примитив окна имеет уникальный идентификатор.

Что происходит при нажатии кнопки мыши на кнопке на экране? Прикладной программе направляется событие, аргументом которого является идентификатор окна. На основе этого идентификатора прикладная программа решает на каком элементе пользовательского интерфейса "кликнул" юзер и производит соответствующие действия.

Вышеописанная схема слишком утрирована. На самом деле существуют различные библиотеки более высокого уровня, которые ограждают прикладного программиста от необходимости вдумываться в особенности протокола графической библиотеки, а позволяют работать непосредственно с объектами. Например, MFC и ATL для MS Windows или QT для Unix'ов и всего остального, включая Windows.
<span class='smallblacktext'>[ Редактирование воскресенье 12.11.2006 00:33 ]</span>
Наверх
Сайт
alman
Суббота 11.11.2006 20:01

ID пользователя #753
Зарегистрирован: Суббота 28.10.2006 01:21
Местонахождение: планета Земля
Сообщений: 95
Димон написал(а) ...
Или скажите какую нибуть инфу чтобы я мог почитать по операционным системам вообще.


Надеюсь, Вы не относитесь к тем людям, которые считают что GUI и операционная система - одно и то же.

По операционным системам я бы порекомендовал Таненбаума. Только о графике, насколько мне известно, он ничего не писал. Хотя могу и ошибиться.
Наверх
Сайт
Dreamer
Суббота 11.11.2006 21:08

ID пользователя #9
Зарегистрирован: Воскресенье 04.07.2004 14:01
Сообщений: 235
Или скажите какую нибуть инфу чтобы я мог почитать по операционным системам вообще.


STFW. Другими словами, сами поискать не пробовали (например, товарища Таненбаума почитать)? Говорят, помогает...

Жизнь на Линуксе есть!
Наверх
Dron
Суббота 11.11.2006 23:14


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Чтож за беспомощность то такая?

Есть множество графических библиотек...
Например QT, wxWindows, SDL, gtk, X

Многие из них описаны даже на русском...
Для общего ознакомления пойдет любое руководство программиста по любой из них... После того как общие знания будут накоплены - ты, Димон, сможешь сравнивать и выбирать...

Одну из двух вечных российских проблем можно, в принципе, решить с помощью асфальтоукладчиков и катков. А вот с дорогами, конечно, будет труднее...

Андрей Валяев
Наверх
Сайт
Димон
Воскресенье 12.11.2006 10:37
ID пользователя #761
Зарегистрирован: Пятница 10.11.2006 21:29
Сообщений: 27
Спасибо всем за советы.Если найду что-то интересное всем об этом скажу, а вы не знаете сколько книга Таненбаума в Украине будет стоить?
Наверх
Димон
Воскресенье 12.11.2006 18:34
ID пользователя #761
Зарегистрирован: Пятница 10.11.2006 21:29
Сообщений: 27
Скажите смогу ли я написать граф. библиотеку на С++ или для этого мне понадобится другой инструмент?
Наверх
Roman I Khimov
Воскресенье 12.11.2006 18:49

ID пользователя #1
Зарегистрирован: Воскресенье 27.06.2004 12:37
Местонахождение: Санкт-Петербург
Сообщений: 601
Димон написал(а) ...
Скажите смогу ли я написать граф. библиотеку на С++ или для этого мне понадобится другой инструмент?

Инструментов хватит. Дело за желаниями и умениями.

Мне интересно даже другое. "Для моей ОС" — это для какой?


Греби и улыбайся!
Наверх
Сайт
mzprog
Среда 15.11.2006 09:53
ID пользователя #306
Зарегистрирован: Четверг 05.05.2005 10:16
Сообщений: 23
см. пример графического интерфейса на http://mzc.narod.ru




Наверх
Сайт
товарищ Сталин
Воскресенье 19.11.2006 20:53
ID пользователя #697
Зарегистрирован: Среда 12.07.2006 20:06
Местонахождение: СССР
Сообщений: 10
насколько я понимаю, драйвер контроллера дисплея понимает лишь одну команду: вывести точку (пиксел) заданного цвета, заданной позиции на экране. Если ты хочешь нарисовать, например, линию ты даешь графической библиотеке координаты этой линии, а она уже раскладывает эту линию по точкам и дает команду устройству их отобразить.

Насчет инфы: можешь почитать книги Таненбаума - "Операционные системы: разработка и реализация", "Современные операционные системы"
Наверх
Переход на страницу  1 [2] 3 4  

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.