
- •1. Назначение, основные этапы развития операционных систем
- •2. Современные ос и их классификация
- •3. Основные принципы построения ос
- •4. Мультипрограммность и мультизадачность
- •1. Процесс, ресурс, свойства, классификация
- •2. Концепция виртуализации
- •3. Принципы построения интерфейсов операционных систем. Интерфейсы прикладного программирования
- •4. Концепция прерывания
- •1. Система управления процессами. Процессы, потоки.
- •2. Средства распределения ресурсов
- •3. Система распределения оперативной памяти. Контроль и распределение памяти в ms-dos
- •4. Алгоритм распределения памяти ms_dos
- •5. Блок управления памятью (mcb)
- •1. Файловая система. Концепция управления файлами
- •2. Текстовые файлы. Двоичный файлы
- •2. Создание файла и создание связи с файлом
- •3. Удаление файла и связи с файлом
- •4. Модификация файлов
- •5. Операции с файлами
- •6. Организация данных на внешних носителях. Внешняя память на дисках
- •7. Файловая система fat. Структура и расположение системной информации файловой системы.
- •8. Структура boot
- •9. Таблица расположения файлов fat
- •10. Структура корневого директория root
- •11. Структура директория
- •12. Алгоритм поиска расположения файлов на диске
- •13. Определение начального кластера расположения файла на диске
- •14. Расчет номеров цепочки кластеров расположения фала на диске
- •15. Методы доступа к информации на дисках
- •16. Изменение элементов таблиц fat и root при выполнении команд dos: copy, move, del, rename.
- •1. Общие сведения о механизме прерываний
- •1. Аппаратные прерывания
- •2. Программные прерывания
- •3. Таблица векторов прерываний
- •4. Перехват прерывания
- •5. Каскадная обработка прерывания
- •1. Загрузка и запуск программ ms dos
- •2. Заголовок *.Exe
- •3. Psp текущей задачи
- •4. Дочерние процессы и их запуск
- •5. Среда процесса, наследование среды
- •6. Системные управляющие блоки dos (таблица векторной связи)
- •7. Завершение процесса
- •1. Архитектура ос Windows. Функционирование и взаимосвязь модулей операционной системы
- •2. Понятие окна. Принципы организации графического пользовательского интерфейса.
- •3. Операции с объектом – окно
- •4. Событийное управление программами
- •5. Сообщение. Цикл обработки сообщений. Очередь сообщений.
- •6. Процедура обработки сообщений, ее формат и правила написания
- •7. Синхронные и асинхронные сообщения, их передача и обработка
- •8. Ввод данных с клавиатуры
- •9. Коды oem, ansi, ascii, виртуальные коды
- •10. Фокус ввода
- •11. Обработка сообщений мыши
- •12. Таймер. Программирование таймера
- •1. Графические устройства и их контекст
- •2. Атрибуты контекста устройств
- •3. Логическая и физическая система координат
- •4. Режимы преобразования координат
- •5. Объекты gdi. Создание и использование
- •6. Gdi и векторная модель рисования
- •7. Быстрая векторная графика
- •8. Шрифт. Классификация, параметры шрифта, установка в контексте устройства.
- •Структура logfont
- •9. Атрибуты контекста устройств, влияющие на вывод текста
- •10. Методы gdi вывода текста
- •11. Управление направлением, размером и расстоянием между символами
- •1. Создание процесса
- •2. Описатель процесса
- •3. Командная строка процесса
- •4. Среда процесса.
- •5. Наследование объектов ядра дочерним процессом.
- •6. Класс процесса.
- •7. Текущий директорий процесса.
- •8. Получение инф-ции о процессе
- •9. Окончание процесса
3. Логическая и физическая система координат
Существует 2 понятия координат: логические координаты и физические координаты. Физические координаты имеют отношение к физическому устройству вывода, например, экрану. Здесь в качестве единицы измерения длины используется пиксел.
Логическая система координат – условная система, где единица измерения зависит от режима отображения. Windows поддерживает восемь режимов отображения. По умолчанию начало координат находится в левом верхнем углу области вывода, при этом ось Х направлена слева направо, а ось У – сверху вниз.
Для настройки системы координат в Windows используется два понятия – физическая область вывода (viewport), координаты и размеры которой задаются в физических единицах – пикселях, и логическая область вывода (window), координаты и размеры которой задаются в логических единицах, определяемых режимом рисования.
Основная функция которая позволяет выбрать режим, а значит и систему координат – SetMapMode.
SetMapMode(hdc,MM_LOMETRIC);
Особенность режима LOMETRIC состоит в том, что логическая единица соответствует 1/10 миллиметра или 1/100 сантиметра, а не 1 пикселю, размер которого зависит от видеоконтроллера.
Поскольку в нашем режиме ось OY направлена вверх, т.е. логическое начало координат находится в левом нижнем углу, то необходимо перенести нашу точку(начало координат) в данную физическую точку (левый нижний угол рабочей области) с помощью функции SetViewportOrgEx:
SetViewportOrgEx(hdc,0,645,NULL);
Т.е. логическая точка (0,0) будет находиться в точке с физическими координатами(0, 645).
4. Режимы преобразования координат
Вы можете устанавливать режим отображения, используя функцию:
SetMapMode (hdc, iMapMode);
Определить текущий режим отображения вы можете путем вызова:
iMapMode = GetMapMode (hdc);
По умолчанию установлен режим MM_TEXT. Â этом режиме отображения логические единицы эквивалентны физическим единицам, что позволяет нам (или заставляет нас) работать непосредственно в терминах пикселей.
Если же вы хотите рисовать образы в реальных единицах измерения, таких как миллиметры или дюймы, то вы можете получить нужную вам информацию из функции GetDeviceCaps и осуществлять свое собственное масштабирование.
Режим |
Логическая единица |
Координата X |
Координата Y |
|
|
Возрастание координат |
|
MM_HIENGLISH |
0,001 дюйма |
Слева направо |
Снизу вверх |
MM_HIMETRIC |
0,01 мм |
Слева направо |
Снизу вверх |
MM_ISOTROPIC |
Произвольное |
Определяется |
Определяется |
MM_LOENGLISH |
0,01 дюйма |
Слева направо |
Снизу вверх |
MM_LOMETRIC |
0,1 мм |
Слева направо |
Снизу вверх |
MM_TEXT |
Пиксель устройства |
Слева направо |
Сверху вниз |
MM_TWIPS |
1/1440 дюйма |
Слева направо |
Снизу вверх |