Display PostScript (или DPS ) - это система 2D-графики для компьютеров, которые используют модель и язык изображения PostScript (PS) (изначально разработанный для компьютерной печати ) для создания экранной графики. К базовой системе PS DPS добавляет ряд функций, предназначенных для облегчения работы с растровыми дисплеями и повышения производительности некоторых общих задач.
Ранние версии систем отображения PostScript были разработаны в Adobe Systems. Во время разработки компьютеров NeXT NeXT и Adobe сотрудничали для создания официальной системы DPS, которая была выпущена в 1987 году. NeXT использовал DPS на протяжении всей своей истории, в то время как версии от Adobe были популярны на рабочих станциях Unix какое-то время в течение 1980-е и 1990-е годы.
Для поддержки интерактивного использования на экране с разумной производительностью потребовались изменения:
showpage
, после чего он фактически распечатывается вне. Это не подходит для ситуации отображения, когда постоянно требуется большое количество мелких обновлений. DPS включал режимы, позволяющие отображать изображения в полу-реальном времени по мере получения инструкций от пользовательских программ.pswrap
», которая позволяла разработчикам, чтобы обернуть код PostScript в функцию языка C, которую затем можно было бы вызывать из приложения.DPS, однако, не добавлял оконную систему. Это было оставлено на усмотрение реализации, и DPS должен был использоваться вместе с существующим механизмом работы с окнами. Часто это была X Window System, и в этой форме Display PostScript позже был принят такими компаниями, как IBM и SGI для своих рабочих станций. Часто код, необходимый для перехода из X-окна в контекст DPS, был намного сложнее, чем весь остальной интерфейс DPS. Это сильно ограничивало популярность DPS, когда была доступна любая альтернатива.
Разработчики NeXT написали совершенно новый механизм работы с окнами, чтобы в полной мере использовать объектно-ориентированную операционную систему NeXT. В DPS был добавлен ряд команд для фактического создания окон и реакции на события, аналогичные, но более простые, чем NeWS. Единый API значительно упростил программирование на более высоких уровнях и сделал NeXT одной из немногих систем, широко использующих DPS. Библиотека оконной системы пользовательского пространства NeXTSTEP использовала PostScript для рисования таких элементов, как заголовки и скроллеры. Это, в свою очередь, широко использовало элементы pswrap
, которые, в свою очередь, были обернуты в объекты и представлены программисту в объектной форме.
Операционная система Apple Mac OS X использует центральный оконный сервер (полностью созданный Apple), который кэширует оконную графику как PDF вместо хранения и выполнения кода PostScript. Графическая библиотека под названием Quartz 2D обеспечивает визуализацию в стиле PostScript с использованием модели рендеринга PDF (подмножество модели PostScript с дополнительными настройками), но это используется фреймворками приложений - PostScript отсутствует в Сервер окон Mac OS X. Apple решила использовать эту модель по ряду причин, включая избежание лицензионных сборов за DPS и более эффективную поддержку устаревшего кода Carbon и Classic ; Приложения на основе QuickDraw используют исключительно растровые изображения. Положения Adobe об авторских правах на стандарт PDF гораздо менее строгие, предоставляя условное разрешение на использование авторских прав любому лицу на бесплатное использование формата в программных приложениях.