initial
This commit is contained in:
253
.venv/lib/python3.12/site-packages/ezdxf/enums.py
Normal file
253
.venv/lib/python3.12/site-packages/ezdxf/enums.py
Normal file
@@ -0,0 +1,253 @@
|
||||
# Copyright (c) 2021, Manfred Moitzi
|
||||
# License: MIT License
|
||||
from enum import IntEnum, IntFlag, Enum, auto
|
||||
from ezdxf.lldxf import const
|
||||
|
||||
|
||||
class TextHAlign(IntEnum):
|
||||
"""Enumeration for DXF attribute: :attr:`ezdxf.entities.Text.dxf.halign`"""
|
||||
|
||||
LEFT = const.LEFT
|
||||
CENTER = const.CENTER
|
||||
RIGHT = const.RIGHT
|
||||
ALIGNED = const.ALIGNED
|
||||
MIDDLE = 4
|
||||
FIT = const.FIT
|
||||
|
||||
|
||||
class TextVAlign(IntEnum):
|
||||
"""Enumeration for DXF attribute: :attr:`ezdxf.entities.Text.dxf.valign`"""
|
||||
|
||||
BASELINE = const.BASELINE
|
||||
BOTTOM = const.BOTTOM
|
||||
MIDDLE = const.MIDDLE
|
||||
TOP = const.TOP
|
||||
|
||||
|
||||
# noinspection PyArgumentList
|
||||
class TextEntityAlignment(Enum):
|
||||
"""Text alignment enum for the :class:`~ezdxf.entities.Text`,
|
||||
:class:`~ezdxf.entities.Attrib` and :class:`~ezdxf.entities.AttDef`
|
||||
entities.
|
||||
"""
|
||||
|
||||
LEFT = auto()
|
||||
CENTER = auto()
|
||||
RIGHT = auto()
|
||||
ALIGNED = auto()
|
||||
MIDDLE = auto()
|
||||
FIT = auto()
|
||||
BOTTOM_LEFT = auto()
|
||||
BOTTOM_CENTER = auto()
|
||||
BOTTOM_RIGHT = auto()
|
||||
MIDDLE_LEFT = auto()
|
||||
MIDDLE_CENTER = auto()
|
||||
MIDDLE_RIGHT = auto()
|
||||
TOP_LEFT = auto()
|
||||
TOP_CENTER = auto()
|
||||
TOP_RIGHT = auto()
|
||||
|
||||
|
||||
MAP_TEXT_ENUM_TO_ALIGN_FLAGS = {
|
||||
TextEntityAlignment.LEFT: (TextHAlign.LEFT, TextVAlign.BASELINE),
|
||||
TextEntityAlignment.CENTER: (TextHAlign.CENTER, TextVAlign.BASELINE),
|
||||
TextEntityAlignment.RIGHT: (TextHAlign.RIGHT, TextVAlign.BASELINE),
|
||||
TextEntityAlignment.ALIGNED: (TextHAlign.ALIGNED, TextVAlign.BASELINE),
|
||||
TextEntityAlignment.MIDDLE: (TextHAlign.MIDDLE, TextVAlign.BASELINE),
|
||||
TextEntityAlignment.FIT: (TextHAlign.FIT, TextVAlign.BASELINE),
|
||||
TextEntityAlignment.BOTTOM_LEFT: (TextHAlign.LEFT, TextVAlign.BOTTOM),
|
||||
TextEntityAlignment.BOTTOM_CENTER: (TextHAlign.CENTER, TextVAlign.BOTTOM),
|
||||
TextEntityAlignment.BOTTOM_RIGHT: (TextHAlign.RIGHT, TextVAlign.BOTTOM),
|
||||
TextEntityAlignment.MIDDLE_LEFT: (TextHAlign.LEFT, TextVAlign.MIDDLE),
|
||||
TextEntityAlignment.MIDDLE_CENTER: (TextHAlign.CENTER, TextVAlign.MIDDLE),
|
||||
TextEntityAlignment.MIDDLE_RIGHT: (TextHAlign.RIGHT, TextVAlign.MIDDLE),
|
||||
TextEntityAlignment.TOP_LEFT: (TextHAlign.LEFT, TextVAlign.TOP),
|
||||
TextEntityAlignment.TOP_CENTER: (TextHAlign.CENTER, TextVAlign.TOP),
|
||||
TextEntityAlignment.TOP_RIGHT: (TextHAlign.RIGHT, TextVAlign.TOP),
|
||||
}
|
||||
MAP_TEXT_ALIGN_FLAGS_TO_ENUM = dict(
|
||||
(flags, enum) for enum, flags in MAP_TEXT_ENUM_TO_ALIGN_FLAGS.items()
|
||||
)
|
||||
|
||||
# Used by legacy add-ons MText and Table!
|
||||
MAP_STRING_ALIGN_TO_FLAGS = {
|
||||
"LEFT": (TextHAlign.LEFT, TextVAlign.BASELINE),
|
||||
"CENTER": (TextHAlign.CENTER, TextVAlign.BASELINE),
|
||||
"RIGHT": (TextHAlign.RIGHT, TextVAlign.BASELINE),
|
||||
"ALIGNED": (TextHAlign.ALIGNED, TextVAlign.BASELINE),
|
||||
"MIDDLE": (TextHAlign.MIDDLE, TextVAlign.BASELINE),
|
||||
"FIT": (TextHAlign.FIT, TextVAlign.BASELINE),
|
||||
"BOTTOM_LEFT": (TextHAlign.LEFT, TextVAlign.BOTTOM),
|
||||
"BOTTOM_CENTER": (TextHAlign.CENTER, TextVAlign.BOTTOM),
|
||||
"BOTTOM_RIGHT": (TextHAlign.RIGHT, TextVAlign.BOTTOM),
|
||||
"MIDDLE_LEFT": (TextHAlign.LEFT, TextVAlign.MIDDLE),
|
||||
"MIDDLE_CENTER": (TextHAlign.CENTER, TextVAlign.MIDDLE),
|
||||
"MIDDLE_RIGHT": (TextHAlign.RIGHT, TextVAlign.MIDDLE),
|
||||
"TOP_LEFT": (TextHAlign.LEFT, TextVAlign.TOP),
|
||||
"TOP_CENTER": (TextHAlign.CENTER, TextVAlign.TOP),
|
||||
"TOP_RIGHT": (TextHAlign.RIGHT, TextVAlign.TOP),
|
||||
}
|
||||
MAP_FLAGS_TO_STRING_ALIGN = dict(
|
||||
(flags, name) for name, flags in MAP_STRING_ALIGN_TO_FLAGS.items()
|
||||
)
|
||||
|
||||
|
||||
class MTextEntityAlignment(IntEnum):
|
||||
"""Text alignment enum for the :class:`~ezdxf.entities.MText` entity."""
|
||||
|
||||
TOP_LEFT = const.MTEXT_TOP_LEFT
|
||||
TOP_CENTER = const.MTEXT_TOP_CENTER
|
||||
TOP_RIGHT = const.MTEXT_TOP_RIGHT
|
||||
MIDDLE_LEFT = const.MTEXT_MIDDLE_LEFT
|
||||
MIDDLE_CENTER = const.MTEXT_MIDDLE_CENTER
|
||||
MIDDLE_RIGHT = const.MTEXT_MIDDLE_RIGHT
|
||||
BOTTOM_LEFT = const.MTEXT_BOTTOM_LEFT
|
||||
BOTTOM_CENTER = const.MTEXT_BOTTOM_CENTER
|
||||
BOTTOM_RIGHT = const.MTEXT_BOTTOM_RIGHT
|
||||
|
||||
|
||||
MAP_MTEXT_ALIGN_TO_FLAGS = {
|
||||
MTextEntityAlignment.TOP_LEFT: (TextHAlign.LEFT, TextVAlign.TOP),
|
||||
MTextEntityAlignment.TOP_CENTER: (TextHAlign.CENTER, TextVAlign.TOP),
|
||||
MTextEntityAlignment.TOP_RIGHT: (TextHAlign.RIGHT, TextVAlign.TOP),
|
||||
MTextEntityAlignment.MIDDLE_LEFT: (TextHAlign.LEFT, TextVAlign.MIDDLE),
|
||||
MTextEntityAlignment.MIDDLE_CENTER: (TextHAlign.CENTER, TextVAlign.MIDDLE),
|
||||
MTextEntityAlignment.MIDDLE_RIGHT: (TextHAlign.RIGHT, TextVAlign.MIDDLE),
|
||||
MTextEntityAlignment.BOTTOM_LEFT: (TextHAlign.LEFT, TextVAlign.BOTTOM),
|
||||
MTextEntityAlignment.BOTTOM_CENTER: (TextHAlign.CENTER, TextVAlign.BOTTOM),
|
||||
MTextEntityAlignment.BOTTOM_RIGHT: (TextHAlign.RIGHT, TextVAlign.BOTTOM),
|
||||
}
|
||||
|
||||
|
||||
class MTextParagraphAlignment(IntEnum):
|
||||
DEFAULT = 0
|
||||
LEFT = 1
|
||||
RIGHT = 2
|
||||
CENTER = 3
|
||||
JUSTIFIED = 4
|
||||
DISTRIBUTED = 5
|
||||
|
||||
|
||||
class MTextFlowDirection(IntEnum):
|
||||
LEFT_TO_RIGHT = const.MTEXT_LEFT_TO_RIGHT
|
||||
TOP_TO_BOTTOM = const.MTEXT_TOP_TO_BOTTOM
|
||||
BY_STYLE = const.MTEXT_BY_STYLE
|
||||
|
||||
|
||||
class MTextLineAlignment(IntEnum): # exclusive state
|
||||
BOTTOM = 0
|
||||
MIDDLE = 1
|
||||
TOP = 2
|
||||
|
||||
|
||||
class MTextStroke(IntFlag):
|
||||
"""Combination of flags is supported: UNDERLINE + STRIKE_THROUGH"""
|
||||
|
||||
UNDERLINE = 1
|
||||
STRIKE_THROUGH = 2
|
||||
OVERLINE = 4
|
||||
|
||||
|
||||
class MTextLineSpacing(IntEnum):
|
||||
AT_LEAST = const.MTEXT_AT_LEAST
|
||||
EXACT = const.MTEXT_EXACT
|
||||
|
||||
|
||||
class MTextBackgroundColor(IntEnum):
|
||||
OFF = const.MTEXT_BG_OFF
|
||||
COLOR = const.MTEXT_BG_COLOR
|
||||
WINDOW = const.MTEXT_BG_WINDOW_COLOR
|
||||
CANVAS = const.MTEXT_BG_CANVAS_COLOR
|
||||
|
||||
|
||||
class InsertUnits(IntEnum):
|
||||
Unitless = 0
|
||||
Inches = 1
|
||||
Feet = 2
|
||||
Miles = 3
|
||||
Millimeters = 4
|
||||
Centimeters = 5
|
||||
Meters = 6
|
||||
Kilometers = 7
|
||||
Microinches = 8
|
||||
Mils = 9
|
||||
Yards = 10
|
||||
Angstroms = 11
|
||||
Nanometers = 12
|
||||
Microns = 13
|
||||
Decimeters = 14
|
||||
Decameters = 15
|
||||
Hectometers = 16
|
||||
Gigameters = 17
|
||||
AstronomicalUnits = 18
|
||||
Lightyears = 19
|
||||
Parsecs = 20
|
||||
USSurveyFeet = 21
|
||||
USSurveyInch = 22
|
||||
USSurveyYard = 23
|
||||
USSurveyMile = 24
|
||||
|
||||
|
||||
class Measurement(IntEnum):
|
||||
Imperial = 0
|
||||
Metric = 1
|
||||
|
||||
|
||||
class LengthUnits(IntEnum):
|
||||
Scientific = 1
|
||||
Decimal = 2
|
||||
Engineering = 3
|
||||
Architectural = 4
|
||||
Fractional = 5
|
||||
|
||||
|
||||
class AngularUnits(IntEnum):
|
||||
DecimalDegrees = 0
|
||||
DegreesMinutesSeconds = 1
|
||||
Grad = 2
|
||||
Radians = 3
|
||||
|
||||
|
||||
class SortEntities(IntFlag):
|
||||
DISABLE = 0
|
||||
SELECTION = 1 # 1 = Sorts for object selection
|
||||
SNAP = 2 # 2 = Sorts for object snap
|
||||
REDRAW = 4 # 4 = Sorts for redraws; obsolete
|
||||
MSLIDE = 8 # 8 = Sorts for MSLIDE command slide creation; obsolete
|
||||
REGEN = 16 # 16 = Sorts for REGEN commands
|
||||
PLOT = 32 # 32 = Sorts for plotting
|
||||
POSTSCRIPT = 64 # 64 = Sorts for PostScript output; obsolete
|
||||
|
||||
|
||||
class ACI(IntEnum):
|
||||
"""AutoCAD Color Index"""
|
||||
|
||||
BYBLOCK = 0
|
||||
BYLAYER = 256
|
||||
BYOBJECT = 257
|
||||
RED = 1
|
||||
YELLOW = 2
|
||||
GREEN = 3
|
||||
CYAN = 4
|
||||
BLUE = 5
|
||||
MAGENTA = 6
|
||||
BLACK = 7
|
||||
WHITE = 7
|
||||
GRAY = 8
|
||||
LIGHT_GRAY = 9
|
||||
|
||||
|
||||
class EndCaps(IntEnum):
|
||||
""" Lineweight end caps setting for new objects. """
|
||||
NONE = 0
|
||||
ROUND = 1
|
||||
ANGLE = 2
|
||||
SQUARE = 3
|
||||
|
||||
|
||||
class JoinStyle(IntEnum):
|
||||
""" Lineweight joint setting for new objects. """
|
||||
NONE = 0
|
||||
ROUND = 1
|
||||
ANGLE = 2
|
||||
FLAT = 3
|
||||
Reference in New Issue
Block a user