Шаг 671 - CDC::GetDeviceCaps.

Автор Каев А. Г.
int GetDeviceCaps( int nIndex ) const;

Возвращаемое значение
Значение запрошенной возможности, если функция успешна.

Параметры
nIndex
Определяет тип информации, чтобы возвратить. Это может быть любое из следующих значений:
DRIVERVERSION Номер версии. Например 0x100 для 1.0.
TECHNOLOGY Технология устройства. Это может быть любой из следующего:

DT_PLOTTER 	Векторный графопостроитель 
DT_RASDISPLAY 	Растровый дисплей 
DT_RASPRINTER 	Растровый принтер 
DT_RASCAMERA 	Растровая камера 
DT_CHARSTREAM 	Символьный поток 
DT_METAFILE 	Метафайл
DT_DISPFILE 	Дисплейный файл

HORZSIZE Ширина физического дисплея (в милиметрах).
VERTSIZE Высота физического дисплея (в милиметрах).
HORZRES Ширина дисплея (в пикселях).
VERTRES Высота дисплея (в растровых строках).
LOGPIXELSX Число пикселей на логический дюйм по ширине дисплея.
LOGPIXELSY Число пикселей на логический дюйм по высоте дисплея.
BITSPIXEL Число смежных цветных битов для каждого пикселя.
PLANES Количество цветных плоскостей.
NUMBRUSHES Число зависящих от устройства кистей.
NUMPENS Число зависящих от устройства перьев.
NUMFONTS Число зависящих от устройства шрифтов.
NUMCOLORS Число входов в таблице цветов устройства.
ASPECTX Относительная ширина пикселя устройства которая используется для линий рисунка.
ASPECTY Относительная высота пикселя устройства которая используется для линий рисунка.
ASPECTXY Диагональная ширина пикселя устройства как используется для линий рисунка.
PDEVICESIZE Размер PDEVICE внутренней структуры данных.
CLIPCAPS Возможности отсечения устройства. Это может быть один из следующего:

CP_NONE 	 	Вывод не отсечен. 	
CP_RECTANGLE 	Вывод отсечен к прямоугольникам. 	
CP_REGION 	Вывод отсечен к областям. 
SIZEPALETTE Число входов в палитре системы. Этот индекс допустим только, если драйвер устройства устанавливает RC_PALETTE бит в индексе RASTERCAPS.
NUMRESERVED Число зарезервированных входов в палитре системы. Этот индекс допустим только, если драйвер устройства устанавливает RC_PALETTE бит в индексе RASTERCAPS.
COLORRES Фактическая цветная разрешающая способность устройства в битах на пиксель. Этот индекс допустим только, если драйвер устройства устанавливает RC_PALETTE бит в индексе RASTERCAPS.
RASTERCAPS Значение, которое указывает растровые возможности устройства. Это может быть комбинация следующего:
RC_BANDING 	 Требует поддержки связи. 	
RC_BIGFONT 	 Поддерживает шрифты больше чем 64КБ. 
RC_BITBLT 	 Способный к пересылке точечных рисунков. 	
RC_BITMAP64 	 Поддерживает точечные рисунки больше чем 64КБ. 	
RC_DEVBITS 	 Поддерживает точечные рисунки устройства. 	
RC_DI_BITMAP 	 Способный к обеспечению SetDIBits и функций GetDIBits Windows. 	
RC_DIBTODEV 	 Способный к обеспечению функции SetDIBitsToDevice Windows. 	
RC_FLOODFILL 	 Способный к выполнению полного заполнения. 	
RC_GDI20_OUTPUT  	 Способный к обеспечению Windows версия 2.0 свойства. 	
RC_GDI20_STATE 	 Включает блок состояния в контекст устройства. 	
RC_NONE 	 	 Не поддерживает никакие растровые операции. 
RC_OP_DX_OUTPUT    Поддерживает непрозрачность и DX массив. 
RC_PALETTE 	 Определяет устройство базовой палитры. 
RC_SAVEBITMAP 	 Способный к сохранению точечных рисунков локально. 	
RC_SCALING 	 Способный к масштабированию. 
RC_STRETCHBLT 	 Способный к выполнению StretchBlt функции. 	
RC_STRETCHDIB 	 Способный к выполнению функции StretchDIBits Windows.

CURVECAPS Возможности кривой устройства. Это может быть комбинация следующего:

CC_CIRCLES 	 Поддерживает круги. 
CC_PIE 	 	 Поддерживает секторы круга.
CC_CHORD 	 	 Поддерживает хорды.
CC_ELLIPSES 	 Поддерживает эллипсы.
CC_WIDE 	 	 Поддерживает широкие рамки.
CC_STYLED 	 Поддерживает стили рамок.
CC_WIDESTYLED 	 Поддерживает широкие стили рамки.
CC_INTERIORS 	 Поддерживает внутреннее заполнения. 
CC_ROUNDRECT 	 Поддерживает прямоугольники с округленными углами.

LINECAPS Возможности линии которые устройство поддерживает. Это может быть комбинация следующего:

LC_NONE 	 	 Не поддерживает никакие линии. 	
LC_POLYLINE 	 Поддерживает ломаные линии. 
LC_MARKER 	 Поддерживает маркеры. 
LC_POLYMARKER 	 Поддерживает последовательности точек. 
LC_WIDE 	 	 Поддерживает широкие линии. 
LC_STYLED 	 Поддерживает стили линий. 
LC_WIDESTYLED 	 Поддерживает широкие  стили линий. 
LC_INTERIORS 	 Поддерживает внутреннее заполнение.

POLYGONALCAPS Возможности полигонов которые устройство поддерживает. Это может быть комбинация следующего:

PC_NONE 	 	 Не поддерживает никакие многоугольники. 	
PC_POLYGON 	 Поддерживает заполненные многоугольники. 	
PC_RECTANGLE 	 Поддерживает прямоугольники. 	
PC_WINDPOLYGON 	 Поддерживает многоугольники  с волнистой штриховкой. 	
PC_SCANLINE 	 Поддерживает одинарные линии. 	
PC_WIDE 	 	 Поддерживает широкие границы. 	
PC_STYLED 	 Поддерживает стили границы. 	
PC_WIDESTYLED 	 Поддерживает широкие стили границы. 	
PC_INTERIORS 	 Поддерживает внутреннее заполнение. 	

TEXTCAPS Текстовые возможности устройства которые оно поддерживает. Это может быть комбинация следующего:

TC_OP_CHARACTER    	Поддерживает точный вывод шрифтов, то есть  устройство может помещать шрифты 
			устройства в любое расположение пикселя. Это требуется для любого устройства 
			с шрифтами устройства. 	
TC_OP_STROKE 	 	Поддерживает точность вывода штриха, которая указывает, что  устройство может опускать 
			любой штриховой из шрифта устройства. 	
TC_CP_STROKE 	 	Поддерживает точную отсечку шрифтов, которая указывает, что  устройство может отсекать 
			шрифты устройства к границе пикселя. 	
TC_CR_90 	 	 	Поддерживает символьное вращение на 90 градусом, которое указывает, что  устройство может 
			вращать символы только на 90 градусов одновременно. 	
TC_CR_ANY 	 	Вращение символа в любой степени, которая указывает устройство, может вращать шрифты устройства 
			на любой угол. 	
TC_SF_X_YINDEP 	 	Поддерживает масштабирование, независящее от x и направления y, который указывает, что  
			устройство может масштабировать шрифты устройства отдельно в x и y направлениях. 	
TC_SA_DOUBLE 	 	Поддерживает удвоенные символы для масштабирования, которое указывает, что  устройство может 
			удвоить размер шрифтов устройства. 	
TC_SA_INTEGER 	 	Поддерживает целочисленные множители для масштабирования, которое указывает, что  устройство 
			может масштабировать размер шрифтов устройства в любом целочисленном множителе. 	
TC_SA_CONTIN 	 	Поддерживает любые множители для точного масштабирования, которое указывает, что  устройство 
			может масштабировать шрифты устройства любым количеством, но все еще сохранять x и y 
			отношения(коэффициенты). 	
TC_EA_DOUBLE 	 	Поддерживает символы с  двойным весом, который указывает, что  устройство может делать шрифты 
			устройства полужирными. Если этот бит не установлен для драйверов принтера, GDI пытается создавать 
			полужирные шрифты устройства,  печатая их дважды. 	
TC_IA_ABLE 	 	Поддерживает курсив, который указывает, что  устройство может делать курсив шрифтов устройства.
			Если этот бит не установлен, GDI принимает, что курсив не доступен. 	
TC_UA_ABLE 	 	Поддерживает подчеркивание, которое указывает, что  устройство может подчеркивать шрифты 
			устройства. Если этот бит не установлен, GDI создает подчеркивания для шрифтов устройства. 	
TC_SO_ABLE 	 	Поддерживает перечеркивание, который указывает, что  устройство может зачеркнутые шрифты 
			устройства. Если этот бит не установлен, GDI создает перечеркивания  для шрифтов устройства. 	
TC_RA_ABLE 	 	Поддерживает растровые шрифты, который указывает, что GDI должен перечислить любой растровый 
			или TrueType шрифты, доступный для этого устройства в ответ на обращение к Функциям 
			EnumFontFamilies Windows или EnumFonts. Если этот бит не установлен, GDI  растровые или TrueType 
			шрифты не перечисляются,  когда эти функции вызваны. 	
TC_VA_ABLE 	 	Поддерживает векторные шрифты, который указывает, что GDI должен перечислить любые векторные 
			шрифты, доступные для этого устройства в ответ на обращение к Функциям EnumFontFamilies Windows 
			или EnumFonts. Это важно для векторных устройств только (то есть для графопостроителей). 
			Драйверы дисплея (который должен быть способен использовать растровые шрифты) и растровые 
			драйверы принтера всегда, перечисляют векторные шрифты, потому что GDI растеризует  векторные 
			шрифты перед посылкой им к драйверу.	 	
TC_RESERVED 	 	Зарезервированный, должен быть 0.	 

Замечания
Получает широкий диапазон зависящей от устройств информации относительно устройства дисплея.

Hosted by uCoz