Bases: Token
Wrapper for image polarity token.
The IP command is deprecated.
IP sets positive or negative polarity for the entire image. It can only be used
once, at the beginning of the file.
Source code in src/pygerber/gerberx3/tokenizer/tokens/ip_image_polarity.py
| class ImagePolarity(Token):
"""Wrapper for image polarity token.
The IP command is deprecated.
IP sets positive or negative polarity for the entire image. It can only be used
once, at the beginning of the file.
"""
image_polarity: ImagePolarityEnum
@classmethod
def from_tokens(cls, **tokens: Any) -> Self:
"""Initialize token object."""
image_polarity = ImagePolarityEnum(tokens["image_polarity"])
return cls(image_polarity=image_polarity)
def update_drawing_state(
self,
state: State,
_backend: Backend,
) -> Tuple[State, Iterable[DrawCommand]]:
"""Set drawing polarity."""
return (
state.model_copy(
update={
"is_output_image_negation_required": (
self.image_polarity == ImagePolarityEnum.NEGATIVE
),
},
),
(),
)
def __str__(self) -> str:
return f"%IP{self.image_polarity}*%"
|
from_tokens
classmethod
from_tokens(**tokens: Any) -> Self
Initialize token object.
Source code in src/pygerber/gerberx3/tokenizer/tokens/ip_image_polarity.py
| @classmethod
def from_tokens(cls, **tokens: Any) -> Self:
"""Initialize token object."""
image_polarity = ImagePolarityEnum(tokens["image_polarity"])
return cls(image_polarity=image_polarity)
|
update_drawing_state
update_drawing_state(
state: State, _backend: Backend
) -> Tuple[State, Iterable[DrawCommand]]
Set drawing polarity.
Source code in src/pygerber/gerberx3/tokenizer/tokens/ip_image_polarity.py
| def update_drawing_state(
self,
state: State,
_backend: Backend,
) -> Tuple[State, Iterable[DrawCommand]]:
"""Set drawing polarity."""
return (
state.model_copy(
update={
"is_output_image_negation_required": (
self.image_polarity == ImagePolarityEnum.NEGATIVE
),
},
),
(),
)
|