44from typing import Any
55
66from blendmodes .imagetools import rasterImageOA , rasterImageOffset , renderWAlphaOffset
7- from deprecation import deprecated
87from PIL import Image
98
109from .blend import blendLayers
@@ -28,6 +27,7 @@ def __init__(
2827 ----
2928 layersAndGroups (list[Layer, Group]): List of layers and groups
3029 dimensions (tuple[int, int], optional): dimensions of the canvas. Defaults to None.
30+ **kwargs (Any): add any keyword args to self.extras
3131 """
3232 # Write here
3333 self .layersAndGroups = layersAndGroups
@@ -67,7 +67,7 @@ def json(self) -> dict[str, Any]:
6767 return {"dimensions" : self .dimensions , "layersAndGroups" : layersAndGroups }
6868
6969 # Get, set and remove layers or groups
70- def getLayerOrGroup (self , index : int ):
70+ def getLayerOrGroup (self , index : int ) -> Layer | Group :
7171 """Get a LayerOrGroup."""
7272 return self .layersAndGroups [index ]
7373
@@ -83,24 +83,11 @@ def removeLayerOrGroup(self, index: int) -> None:
8383 """Remove a LayerOrGroup at a specific index."""
8484 self .layersAndGroups .pop (index )
8585
86- # The user may wish to add an image directly
87- @deprecated (details = "use addImageAsLayer" , deprecated_in = "2021.2.4" )
88- def addLayerRaster (
89- self , image : Image .Image , name : str
90- ): # pylint:disable=missing-function-docstring
91- return self .addImageAsLayer (image , name )
92-
9386 def addImageAsLayer (self , image : Image .Image , name : str ) -> None :
9487 """Resize an image to the canvas and add as a layer."""
9588 layer = renderWAlphaOffset (image , self .dimensions )
9689 self .addLayerOrGroup (Layer (name , layer , self .dimensions ))
9790
98- @deprecated (details = "use insertImageAsLayer" , deprecated_in = "2021.2.4" )
99- def insertLayerRaster (
100- self , image : Image .Image , name : str , index : int
101- ): # pylint:disable=missing-function-docstring
102- return self .insertImageAsLayer (image , name , index )
103-
10491 def insertImageAsLayer (self , image : Image .Image , name : str , index : int ) -> None :
10592 """Resize an image to the canvas and insert the layer."""
10693 layer = renderWAlphaOffset (image , self .dimensions )
@@ -150,7 +137,7 @@ def flattenLayers(self, *, ignoreHidden: bool = True) -> None:
150137
151138 # The user may hate groups and just want the layers... or just want the
152139 # groups
153- def extractLayers (self ):
140+ def extractLayers (self ) -> list [ Layer ] :
154141 """Extract the layers from the image."""
155142 layers = []
156143 for layerOrGroup in self .layersAndGroups :
@@ -181,7 +168,7 @@ def updateLayers(self) -> None:
181168 """Update the layers from the image."""
182169 self .layers = self .extractLayers ()
183170
184- def extractGroups (self ):
171+ def extractGroups (self ) -> list [ Group ] :
185172 """Extract the groups from the image."""
186173 return [
187174 _layerOrGroup
@@ -200,7 +187,7 @@ def flattenLayerOrGroup(
200187 flattenedSoFar : Image .Image | None = None ,
201188 * ,
202189 ignoreHidden : bool = True ,
203- ):
190+ ) -> Image . Image :
204191 """Flatten a layer or group on to an image of what has already been flattened.
205192
206193 Args:
@@ -242,7 +229,7 @@ def flattenAll(
242229 imageDimensions : tuple [int , int ],
243230 * ,
244231 ignoreHidden : bool = True ,
245- ):
232+ ) -> Image . Image :
246233 """Flatten a list of layers and groups.
247234
248235 Args:
0 commit comments