mirror of
https://github.com/blender/blender
synced 2026-09-29 04:37:17 +03:00
Grease Pencil: Python: Add masks.add and masks.remove functions
Restore RNA API for layer mask add/remove. This adds two functions on the `layer.mask_layers` property: * `mask_layers.add(Layer)` to add a new mask. * `mask_layers.remove(Mask)` to remove a mask. Ref: #152782 Pull Request: https://projects.blender.org/blender/blender/pulls/154181
This commit is contained in:
parent
54fbc73c5f
commit
7ff9668c49
6 changed files with 152 additions and 0 deletions
|
|
@ -83,6 +83,54 @@ class TestGreasePencilLayers(unittest.TestCase):
|
|||
self.assertEqual(round(self.gp.layers[1].tint_factor, 1), self.tint_factors[2])
|
||||
self.assertEqual(round(self.gp.layers[2].tint_factor, 1), self.tint_factors[0])
|
||||
|
||||
def test_grease_pencil_layer_mask_add(self):
|
||||
while len(self.gp.layers) < 4:
|
||||
self.gp.layers.new(f"Layer_{len(self.gp.layers)}")
|
||||
|
||||
layer = self.gp.layers[0]
|
||||
mask_layer_1 = self.gp.layers[1]
|
||||
mask_layer_2 = self.gp.layers[2]
|
||||
mask_layer_3 = self.gp.layers[3]
|
||||
|
||||
mask1 = layer.mask_layers.add(mask_layer_1)
|
||||
self.assertIsNotNone(mask1)
|
||||
self.assertEqual(len(layer.mask_layers), 1)
|
||||
|
||||
mask2 = layer.mask_layers.add(mask_layer_2)
|
||||
self.assertIsNotNone(mask2)
|
||||
self.assertEqual(len(layer.mask_layers), 2)
|
||||
|
||||
mask3 = layer.mask_layers.add(mask_layer_3)
|
||||
self.assertIsNotNone(mask3)
|
||||
self.assertEqual(len(layer.mask_layers), 3)
|
||||
|
||||
# Test duplicate prevention - adding same layer again
|
||||
mask_dup = layer.mask_layers.add(mask_layer_1)
|
||||
self.assertIsNotNone(mask_dup)
|
||||
self.assertEqual(len(layer.mask_layers), 3) # Should still be 3, not 4
|
||||
|
||||
def test_grease_pencil_layer_mask_remove(self):
|
||||
while len(self.gp.layers) < 4:
|
||||
self.gp.layers.new(f"Layer_{len(self.gp.layers)}")
|
||||
|
||||
layer = self.gp.layers[0]
|
||||
mask_layer_1 = self.gp.layers[1]
|
||||
mask_layer_2 = self.gp.layers[2]
|
||||
mask_layer_3 = self.gp.layers[3]
|
||||
|
||||
mask1 = layer.mask_layers.add(mask_layer_1)
|
||||
mask2 = layer.mask_layers.add(mask_layer_2)
|
||||
mask3 = layer.mask_layers.add(mask_layer_3)
|
||||
|
||||
self.assertEqual(len(layer.mask_layers), 3)
|
||||
|
||||
layer.mask_layers.remove(mask2)
|
||||
self.assertEqual(len(layer.mask_layers), 2)
|
||||
|
||||
layer.mask_layers.remove(mask1)
|
||||
layer.mask_layers.remove(mask3)
|
||||
self.assertEqual(len(layer.mask_layers), 0)
|
||||
|
||||
|
||||
class TestGreasePencilFrame(unittest.TestCase):
|
||||
def setUp(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue