Skip to content

Commit

Permalink
Merge pull request #173 from psd-tools/v1.8.35
Browse files Browse the repository at this point in the history
v1.8.35
  • Loading branch information
kyamagu committed Dec 26, 2019
2 parents 1ac7de2 + 95cbc0c commit 64197a1
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 11 deletions.
6 changes: 6 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
1.8.35 (2019-12-26)
-------------------

- [api] remove duplicate `has_mask()` definition.
- [composer] fix empty effects check.

1.8.34 (2019-11-28)
-------------------

Expand Down
8 changes: 4 additions & 4 deletions src/psd_tools/api/effects.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from psd_tools.terminology import Klass, Enum, Key
from psd_tools.utils import new_registry
from psd_tools.psd.base import ValueElement
from psd_tools.psd.descriptor import List
from psd_tools.psd.descriptor import Descriptor, List

logger = logging.getLogger(__name__)

Expand All @@ -33,13 +33,13 @@ def __init__(self, layer):

self._items = []
for key in (self._data or []):
if key in (b'masterFXSwitch', Key.Scale.value):
continue
value = self._data[key]
if not isinstance(value, List):
value = [value]
for item in value:
if not item.get(Key.Enabled):
if not (
isinstance(item, Descriptor) and item.get(Key.Enabled)
):
continue
kls = _TYPES.get(item.classID)
assert kls is not None, 'kls not found for %r' % item.classID
Expand Down
4 changes: 0 additions & 4 deletions src/psd_tools/api/layers.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,6 @@ def blend_mode(self):
def blend_mode(self, value):
self._record.blend_mode = BlendMode(value)

def has_mask(self):
"""Returns True if the layer has a mask."""
return self._record.mask_data is not None

@property
def left(self):
"""
Expand Down
6 changes: 4 additions & 2 deletions src/psd_tools/composer/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ def _default_filter(layer):
**kwargs
)
offset = _context.info.get('offset', (0, 0))
# TODO: group opacity is not properly considered here.
context.paste(
_context, (offset[0] - bbox[0], offset[1] - bbox[1])
)
Expand Down Expand Up @@ -198,11 +199,11 @@ def _apply_layer_ops(layer, image, force=False, bbox=None):
image = apply_mask(layer, image, bbox=bbox)

# Apply layer fill effects.
effect_base = image.copy()
apply_opacity(
image, layer.tagged_blocks.get_data(Tag.BLEND_FILL_OPACITY, 255)
)
image = apply_effect(layer, image, effect_base)
if layer.effects.enabled:
image = apply_effect(layer, image, image.copy())

# Clip layers.
if layer.has_clip_layers():
Expand Down Expand Up @@ -321,6 +322,7 @@ def apply_effect(layer, backdrop, base_image):
* stroke
"""
from PIL import ImageChops

for effect in layer.effects:
if effect.__class__.__name__ == 'PatternOverlay':
image = draw_pattern_fill(
Expand Down
2 changes: 1 addition & 1 deletion src/psd_tools/version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '1.8.34'
__version__ = '1.8.35'

0 comments on commit 64197a1

Please sign in to comment.