Рис. 1.2.
Windows (а значит, и любая Windows-программа) позиционирует графические объекты с точностью до минимального графического элемента изображения – пиксела. Размеры таких объектов Windows, как элементы окон, кнопки и значки, стандартизированы. Для отображения системных сообщений и наименований команд меню Windows применяет растровые (матричные) шрифты разных типоразмеров для работы в режимах низкого и высокого разрешения. В документах, содержащих текст, Windows позволяет применять масштабируемые шрифты как для экранного вывода, так и для печати на принтере. Поэтому на экране документ выглядит практически так же, как и на бумаге, – это так называемый принцип WYSIWYG (What You See Is What You Get – что видишь, то и получаешь), или принцип точного отображения.
Сравните три изображения окна текстового процессора (рис. 1.2). Видеосистема компьютера, на котором они сделаны, позволяет работать с разрешениями 640 х 480, 1024 х 768 и 1280 х 1024 соответственно.
Второй крупный недостаток MS-DOS – необходимость поддержки огромного количества всевозможных устройств. DOS-программам приходилось напрямую поддерживать множество типов принтеров и мониторов, и при появлении на рынке новых моделей устройств вывода разработчики были вынуждены соответствующим образом менять коды программ. Большая часть известных DOS-программ, таких как WordPerfect, Microsoft Word, Lotus 1-2-3, Quattro Pro, общались с принтерами через специальные драйверы – программные модули, предназначенные специально для того, чтобы переводить поток данных от программ на язык, «понятный» конкретному принтеру. Это позволяло при появлении новой модели принтера не переписывать программу, а лишь добавлять к ней новый драйвер. В комплект поставки упомянутых программ приходилось включать десятки и сотни драйверов…
Одним словом, новая операционная система должна была решить и эту проблему. Забегая вперед, скажем, что Windows-программы для вывода на печать пользуются услугами ОС Windows, а та уже работает с драйверами. Таким образом, Windows избавила и пользователей, и разработчиков от многих хлопот, связанных с поддержкой устройств. В Windows 3.1 был реализован аппаратно-незави-симый драйвер принтера, в дополнение к которому разработчики должны были писать только мини-драйверы для поддержки аппаратно-зависимых операций. В Windows 95 появились мини-драйверы экрана и диска. В Windows NT была реализована архитектура мини-драйвера диска (он называется порт-драйвером).