Convert some exceptions to warnings so files can be partially rendered.
This commit is contained in:
parent
d835c46320
commit
3ad60064f9
@ -1,7 +1,7 @@
|
|||||||
from typing import Any, Dict, List, Tuple, Optional
|
from typing import Any, Dict, List, Tuple, Optional
|
||||||
from PIL import Image # type: ignore
|
from PIL import Image # type: ignore
|
||||||
|
|
||||||
from .swf import SWF, Frame, Tag, AP2ShapeTag, AP2DefineSpriteTag, AP2PlaceObjectTag, AP2RemoveObjectTag
|
from .swf import SWF, Frame, Tag, AP2ShapeTag, AP2DefineSpriteTag, AP2PlaceObjectTag, AP2RemoveObjectTag, AP2DoActionTag
|
||||||
from .types import Color, Matrix, Point
|
from .types import Color, Matrix, Point
|
||||||
from .geo import Shape
|
from .geo import Shape
|
||||||
from .util import VerboseOutput
|
from .util import VerboseOutput
|
||||||
@ -141,6 +141,9 @@ class AFPRenderer(VerboseOutput):
|
|||||||
self.__placed_objects = self.__placed_objects[:real_index] + self.__placed_objects[(real_index + 1):]
|
self.__placed_objects = self.__placed_objects[:real_index] + self.__placed_objects[(real_index + 1):]
|
||||||
break
|
break
|
||||||
|
|
||||||
|
return []
|
||||||
|
elif isinstance(tag, AP2DoActionTag):
|
||||||
|
print("WARNING: Unhandled DO_ACTION tag!")
|
||||||
return []
|
return []
|
||||||
else:
|
else:
|
||||||
raise Exception(f"Failed to process tag: {tag}")
|
raise Exception(f"Failed to process tag: {tag}")
|
||||||
@ -152,7 +155,7 @@ class AFPRenderer(VerboseOutput):
|
|||||||
|
|
||||||
# Double check supported options.
|
# Double check supported options.
|
||||||
if tag.mult_color or tag.add_color:
|
if tag.mult_color or tag.add_color:
|
||||||
raise Exception("Don't support color blending yet!")
|
print(f"WARNING: Unhandled color blend request Mult: {tag.mult_color} Add: {tag.add_color}!")
|
||||||
|
|
||||||
# Look up the affine transformation matrix and rotation/origin.
|
# Look up the affine transformation matrix and rotation/origin.
|
||||||
transform = tag.transform or Matrix.identity()
|
transform = tag.transform or Matrix.identity()
|
||||||
@ -160,9 +163,9 @@ class AFPRenderer(VerboseOutput):
|
|||||||
|
|
||||||
# TODO: Need to do actual affine transformations here.
|
# TODO: Need to do actual affine transformations here.
|
||||||
if transform.b != 0.0 or transform.c != 0.0 or transform.a != 1.0 or transform.d != 1.0:
|
if transform.b != 0.0 or transform.c != 0.0 or transform.a != 1.0 or transform.d != 1.0:
|
||||||
raise Exception("Don't support affine transformations yet!")
|
print("WARNING: Unhandled affine transformation request!")
|
||||||
if parent_transform.b != 0.0 or parent_transform.c != 0.0 or parent_transform.a != 1.0 or parent_transform.d != 1.0:
|
if parent_transform.b != 0.0 or parent_transform.c != 0.0 or parent_transform.a != 1.0 or parent_transform.d != 1.0:
|
||||||
raise Exception("Don't support affine transformations yet!")
|
print("WARNING: Unhandled affine transformation request!")
|
||||||
offset = parent_transform.multiply_point(transform.multiply_point(Point.identity().subtract(origin).subtract(parent_origin)))
|
offset = parent_transform.multiply_point(transform.multiply_point(Point.identity().subtract(origin).subtract(parent_origin)))
|
||||||
|
|
||||||
# Look up source shape.
|
# Look up source shape.
|
||||||
|
@ -861,7 +861,7 @@ class SWF(TrackedCoverage, VerboseOutput):
|
|||||||
|
|
||||||
# Handle object colors
|
# Handle object colors
|
||||||
multcolor = Color(1.0, 1.0, 1.0, 1.0)
|
multcolor = Color(1.0, 1.0, 1.0, 1.0)
|
||||||
addcolor = Color(1.0, 1.0, 1.0, 1.0)
|
addcolor = Color(0.0, 0.0, 0.0, 0.0)
|
||||||
|
|
||||||
if flags & 0x800:
|
if flags & 0x800:
|
||||||
# Multiplicative color present.
|
# Multiplicative color present.
|
||||||
|
Loading…
Reference in New Issue
Block a user