FontSymbolStyle
=================

.. currentmodule:: axioma.mapinfo

.. class:: FontSymbolStyle

	Стиль точечного объекта, основанный на символе шрифта MapInfo

	Унаследован от: :class:`~axioma.render.PointStyle`, :class:`~axioma.render.ColoredStyle`, :class:`~axioma.render.OgrStyle`

		.. py:data:: NATIVE_FONT_FAMILY

			Наименование стиля шрифта, используемого для ранних версий MapInfo как внутренний

		.. py:method:: FontSymbolStyle()

			Конструктор со значениями по умолчанию

		.. py:method:: FontSymbolStyle(font, symbol, color, rotation, shadow)

			Конструктор

			:param `~PyQt5.QtGui.QFont` font: Шрифт, из которого берется символ стиля
			:param `str` symbol: Символ, который будет отображен при отрисовке
			:param `~PyQt5.QtGui.QColor` color: Цвет символа
			:param rotation: Угол поворота символа
			:type rotation: :class:`float`
			:param shadow: Наличие тени
			:type shadow: :class:`bool`

		.. py:method:: FontSymbolStyle(def, fontFamily=NATIVE_FONT_FAMILY)

			Конструктор

			:param `TABSymbolDef_t` def: Mitab структура описания символа MapInfo
			:param `str` fontFamily: Наименование стиля шрифта

		.. py:method:: getMapinfoStyle()

			Возвращает Mitab совместимую структуру хранения стиля оформления символа MapInfo

			:return: Структура
			:rtype: `TABSymbolDef_t`

		.. py:method:: setSymbolMapinfo(symbol)

			Установка символа по его номеру MapInfo

			:param symbol: Номер символа
			:type symbol: :class:`int`

		.. py:method:: font()

			Установленный шрифт символа

			:return: Шрифт
			:rtype: :class:`~PyQt5.QtGui.QFont`

		.. py:method:: setFont(font)

			Установка нового шрифта символа

			:param `~PyQt5.QtGui.QFont` font: Шрифт

		.. csv-table:: Тип линии обводки :data:`OutlineType`:
				:header: "Наименование величины", "Значение", "Описание"

				NoOutline, 0, "Отсутствует"
				BlackOutline, 1, "Черного цвета"
				WhiteOutline, 2, "Белого цвета"

		.. py:method:: outline()

			Установленное значение типа обводки

			:return: Тип обводки. По умолчанию NoOutline
			:rtype: :data:`OutlineType`

		.. py:method:: setOutline(outline)

			Установка нового значения обводки

			:param outline: Тип обводки
			:type outline: :class:`OutlineType`

		.. py:method:: symbol()

			Установленное значение символа

			:return: Символ
			:rtype: :class:`str`

		.. py:method:: setSymbol(symbol)

			Установка нового значения символа

			:param `str` symbol: Символ

		.. py:method:: rotation()

			Угол поворота символа

			:return: Угол поворота символа в градусах против часовой стрелки
			:rtype: :class:`float`

		.. py:method:: setRotation(rotation)

			Установка нового значения угла поворота символа

			:param rotation: Угол в градусах
			:type rotation: :class:`bool`

		.. py:method:: shadow()

			Наличие тени у символа

			:return: True, если тень есть. В противном случае False
			:rtype: :class:`bool`

		.. py:method:: setShadow(shadow)

			Задание необходимости отрисовки тени у символа

			:param shadow: Признак тени
			:type shadow: :class:`bool`

		.. py:method:: bold()

			Рисовать ли символ как жирный

			:return: True, если да. В противном случае False
			:rtype: :class:`bool`

		.. py:method:: setBold(val)

			Установка признака необходимости отрисовки символа как жирный

			:param val: Значение
			:type val: :class:`bool`

		.. py:method:: setFontPointSize(value)

			Задание размера символа в пунктах

			:param value: Значение
			:type value: :class:`bool`
  
	
Пример использования:

  .. code-block:: python
  
			fs = FontSymbolStyle()
			fs.setFont(QFont("Mapinfo Symbols", 32))
			fs.setSymbolMapinfo(37)
			fs.setColor(Qt.blue)
  
  
