Skip to content

GuidelineImage class

Bases: pytvpaint.guideline.Guideline[pytvpaint.george.TVPGuidelineImage, pytvpaint.george.GuidelineType]

A GuidelineImage is an image used as guideline for artists.

Source code in pytvpaint/guideline.py
167
168
169
170
171
172
173
174
def __init__(
    self,
    position: int,
    project: Project,
    data: george.TVPGuidelineImage | None = None,
) -> None:
    super().__init__(position, project)
    self._data: george.TVPGuidelineImage = data or george.tv_guideline_modify_image_get(self._position)

TYPE = george.GuidelineType.IMAGE class-attribute instance-attribute

refresh_on_call = True instance-attribute

is_removed: bool property

Checks if the object is removed by trying to refresh its data.

Returns:

Name Type Description
bool bool

whether if it was removed or not

position: int property

The position of the guideline.

data: GuidelineDT | None property

Returns the raw data of the guideline.

project: Project property

The project instance the guideline belongs to.

name: str property writable

The name of the guideline.

is_visible: bool property writable

The guideline visibility.

margin: int property writable

The guideline margin.

color: george.RGBAColor property writable

The guideline color.

snap: bool property writable

The guideline snap state.

collapse: bool property writable

The guideline collapse state.

refresh() -> None

Refreshes the guideline data.

Source code in pytvpaint/guideline.py
176
177
178
179
180
181
def refresh(self) -> None:
    """Refreshes the guideline data."""
    super().refresh()
    if not self.refresh_on_call and self._data:
        return
    self._data = george.tv_guideline_modify_image_get(self._position)

path(value: Path | str) -> None

Source code in pytvpaint/guideline.py
188
189
190
@path.setter
def path(self, value: Path | str) -> None:
    george.tv_guideline_modify_image_set(self.position, img_path=value)

x(value: float) -> None

Source code in pytvpaint/guideline.py
197
198
199
@x.setter
def x(self, value: float) -> None:
    george.tv_guideline_modify_image_set(self.position, x=value)

y(value: float) -> None

Source code in pytvpaint/guideline.py
206
207
208
@y.setter
def y(self, value: float) -> None:
    george.tv_guideline_modify_image_set(self.position, y=value)

rotation(value: float) -> None

Source code in pytvpaint/guideline.py
215
216
217
@rotation.setter
def rotation(self, value: float) -> None:
    george.tv_guideline_modify_image_set(self.position, rotation=value)

scale(value: float) -> None

Source code in pytvpaint/guideline.py
224
225
226
@scale.setter
def scale(self, value: float) -> None:
    george.tv_guideline_modify_image_set(self.position, scale=value)

flip(value: george.FlipDirection) -> None

Source code in pytvpaint/guideline.py
233
234
235
@flip.setter
def flip(self, value: george.FlipDirection) -> None:
    george.tv_guideline_modify_image_set(self.position, flip=value)

new(project: Project, img_path: Path | str | None = None, x: float | None = None, y: float | None = None, rotation: float | None = None, scale: float | None = None, flip: george.FlipDirection | None = None, alpha_mode: george.GuidelineAlphaMode | None = None) -> GuidelineImage classmethod

Create a new guideline in the project.

Source code in pytvpaint/guideline.py
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
@classmethod
def new(
    cls,
    project: Project,
    img_path: Path | str | None = None,
    x: float | None = None,
    y: float | None = None,
    rotation: float | None = None,
    scale: float | None = None,
    flip: george.FlipDirection | None = None,
    alpha_mode: george.GuidelineAlphaMode | None = None,
) -> GuidelineImage:
    """Create a new guideline in the project."""
    project.make_current()

    position = george.tv_guideline_add_image(img_path, x, y, rotation, scale, flip, alpha_mode)
    return cls(position, project)

remove() -> None

Remove the guideline.

Warning

the guideline instance won't be usable after removal

Source code in pytvpaint/guideline.py
151
152
153
154
155
156
157
158
159
def remove(self) -> None:
    """Remove the guideline.

    Warning:
        the guideline instance won't be usable after removal
    """
    if self.TYPE:
        george.tv_guideline_remove(self.position, self.TYPE)
    self.mark_removed()

mark_removed() -> None

Marks the object as removed and is therefor not usable.

Source code in pytvpaint/utils.py
 98
 99
100
def mark_removed(self) -> None:
    """Marks the object as removed and is therefor not usable."""
    self._is_removed = True

set_all_visible(value: bool) -> None classmethod

Set visibility state on all guidelines.

Source code in pytvpaint/guideline.py
121
122
123
124
@classmethod
def set_all_visible(cls, value: bool) -> None:
    """Set visibility state on all guidelines."""
    george.tv_guideline_visibility_set_all(cls.TYPE, value)

set_all_margin(value: int) -> None classmethod

Set the margin on all guidelines.

Source code in pytvpaint/guideline.py
126
127
128
129
@classmethod
def set_all_margin(cls, value: int) -> None:
    """Set the margin on all guidelines."""
    george.tv_guideline_margin_set_all(cls.TYPE, value)

set_all_color(value: george.RGBAColor) -> None classmethod

Set the color on all guidelines.

Source code in pytvpaint/guideline.py
131
132
133
134
@classmethod
def set_all_color(cls, value: george.RGBAColor) -> None:
    """Set the color on all guidelines."""
    george.tv_guideline_color_set_all(cls.TYPE, value)

set_all_snap(value: bool) -> None classmethod

Set the snap state on all guidelines.

Source code in pytvpaint/guideline.py
136
137
138
139
@classmethod
def set_all_snap(cls, value: bool) -> None:
    """Set the snap state on all guidelines."""
    george.tv_guideline_snap_set_all(cls.TYPE, value)

set_global_visible(value: bool) -> None staticmethod

Set the visibility on the global guideline.

Source code in pytvpaint/guideline.py
141
142
143
144
@staticmethod
def set_global_visible(value: bool) -> None:
    """Set the visibility on the global guideline."""
    george.tv_guideline_visibility_set(0, value, on_global=True)

set_global_snap(value: bool) -> None staticmethod

Set snap state on the global guideline.

Source code in pytvpaint/guideline.py
146
147
148
149
@staticmethod
def set_global_snap(value: bool) -> None:
    """Set snap state on the global guideline."""
    george.tv_guideline_snap_set(0, value, on_global=True)