Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.19. Графические функции

А.5.19.25. rdsXGSetPenStyle – установить стиль линии

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.5. Сервисные функции и макросы RDS

#### А.5.19. Графические функции

##### А.5.19.25. rdsXGSetPenStyle – установить стиль линии

Функция rdsXGSetPenStyle устанавливает текущий стиль линии, если модель блока вызвана для рисования. Этот стиль будет использоваться для всех геометрических фигур, рисуемых после этого вызова.

      void RDSCALL rdsXGSetPenStyle(
        int Mask,        // Маска установки (RDS_GF*) или 0
        int Style,       // Стиль линии (Windows API)
        int Width,       // Толщина линии
        COLORREF Color,  // Цвет линии
        int Mode         // Режим рисования
      );

Тип указателя на эту функцию

RDS_VIIICrI

Параметры

Mask(int)
  Маска устанавливаемых параметров или 0, если нужно одновременно установить все параметры. В этом параметре могут передаваться следующие битовые флаги, объединенные битовым ИЛИ:

  RDS_GFCOLOR | Установить цвет линии из параметра Color.
  RDS_GFMODE | Установить режим рисования из параметра Mode.
  RDS_GFSTYLE | Установить стиль линии из параметра Style.
  RDS_GFWIDTH | Установить толщину линии из параметра Width.

Style(int)
  Одна из стандартных констант Windows API, задающих стиль линии:

  PS_DASH | Пунктирная линия.
  PS_DASHDOT | Линия из чередующихся отрезков и точек.
  PS_DASHDOTDOT | Линия из повторяющихся групп «отрезок-точка-точка».
  PS_DOT | Линия, состоящая из точек.
  PS_INSIDEFRAME | Специальный стиль сплошной линии, разрешающий Windows скорректировать размеры геометрической фигуры, ограниченной этой линией так, чтобы она уместилась в заданный прямоугольник.
  PS_NULL | Невидимая линия (геометрические фигуры будут рисоваться без линий на границах).
  PS_SOLID | Сплошная линия.

Width(int)
  Толщина линии в точках экрана. В Windows толщина более одной точки поддерживается только для сплошных линий.
Color(COLORREF)
  Цвет линии. В стиле линии PS_NULL не используется.
Mode(int)
  Одна из стандартных констант Windows API, задающих режим рисования линии. Режим рисования определяет логическую функцию, которая комбинирует биты цвета линии и цвета экрана для получения результирующего цвета. Если pen – бит цвета стиля линии (из параметра Color), screen – бит цвета экрана в данной точке, а res – результирующий (получившийся в результате рисования) цвет, то при помощи параметра Mode можно задать следующие операции:

  R2_BLACK | res = 0 – точка экрана всегда будет черной
  R2_WHITE | res = 1 – точка экрана всегда будет белой
  R2_NOP | res = screen – точка экрана не меняет цвет
  R2_NOT | res = NOT screen – точка экрана инвертируется
  R2_COPYPEN | res = pen – точка экрана принимает цвет линии
  R2_NOTCOPYPEN | res = NOT pen
  R2_MERGEPENNOT | res = ( NOT screen ) OR pen
  R2_MASKPENNOT | res = ( NOT screen ) AND pen
  R2_MERGENOTPEN | res = ( NOT pen ) OR screen
  R2_MASKNOTPEN | res = ( NOT pen ) AND screen
  R2_MERGEPEN | res = pen OR screen
  R2_NOTMERGEPEN | res = NOT ( pen OR screen )
  R2_MASKPEN | res = pen AND screen
  R2_NOTMASKPEN | res = NOT ( pen AND screen )
  R2_XORPEN | res = pen XOR screen
  R2_NOTXORPEN | res = NOT ( pen XOR screen )

  Здесь словом NOT обозначена инверсия бита, OR – операция ИЛИ, AND – И, XOR – исключающее ИЛИ. Из всех перечисленных выше режимов чаще всего используются R2_COPYPEN (линия рисуется цветом, заданным в параметрах стиля) и R2_NOT (линия инвертирует точки экрана).

Примечания

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

Пример

Примеры использования функции rdsXGSetPenStyle приведены в §2.7.3 и §2.10.1 руководства программиста.

См. также

rdsXGSetBrushStyle, rdsXGSetFont.