mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-27 09:10:45 +00:00
Fixed: #1332 Flash viewer - Show directly added images when placeFlagHasImage is true on AS3 swfs
This commit is contained in:
@@ -81,6 +81,8 @@ public class DepthState {
|
||||
|
||||
public boolean motionTween = false;
|
||||
|
||||
public boolean hasImage = false;
|
||||
|
||||
private static AtomicLong lastInstanceId = new AtomicLong(0);
|
||||
|
||||
public static long getNewInstanceId() {
|
||||
@@ -138,10 +140,10 @@ public class DepthState {
|
||||
return new PlaceObject2Tag(swf, false, depth, characterId, matrix, cxForm, ratio, instanceName, clipDepth, clipActions);
|
||||
} else if (minPlaceObjectNum == 3) {
|
||||
CXFORMWITHALPHA cxForm = colorTransForm == null ? null : new CXFORMWITHALPHA(colorTransForm);
|
||||
return new PlaceObject3Tag(swf, false, depth, null/*todo: className*/, characterId, matrix, cxForm, ratio, instanceName, clipDepth, filters, blendMode, cacheAsBitmap ? 1 : 0, isVisible ? 1 : 0, backGroundColor, clipActions);
|
||||
return new PlaceObject3Tag(swf, false, depth, null/*todo: className*/, characterId, matrix, cxForm, ratio, instanceName, clipDepth, filters, blendMode, cacheAsBitmap ? 1 : 0, isVisible ? 1 : 0, backGroundColor, clipActions, hasImage);
|
||||
}
|
||||
|
||||
CXFORMWITHALPHA cxForm = colorTransForm == null ? null : new CXFORMWITHALPHA(colorTransForm);
|
||||
return new PlaceObject4Tag(swf, false, depth, null/*todo: className*/, characterId, matrix, cxForm, ratio, instanceName, clipDepth, filters, blendMode, cacheAsBitmap ? 1 : 0, isVisible ? 1 : 0, backGroundColor, clipActions, null);
|
||||
return new PlaceObject4Tag(swf, false, depth, null/*todo: className*/, characterId, matrix, cxForm, ratio, instanceName, clipDepth, filters, blendMode, cacheAsBitmap ? 1 : 0, isVisible ? 1 : 0, backGroundColor, clipActions, null, hasImage);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,6 +305,7 @@ public class Timeline {
|
||||
int characterId = po.getCharacterId();
|
||||
if (characterId != -1) {
|
||||
fl.characterId = characterId;
|
||||
fl.hasImage = po.hasImage();
|
||||
}
|
||||
CharacterTag character = swf.getCharacter(characterId);
|
||||
if (character instanceof DefineSpriteTag) {
|
||||
@@ -701,8 +702,7 @@ public class Timeline {
|
||||
img = new SerializableImage(newWidth, newHeight, SerializableImage.TYPE_INT_ARGB_PRE);
|
||||
img.fillTransparent();
|
||||
|
||||
if (!(drawable instanceof ImageTag)) {
|
||||
// image tags are not rendered, they should be embedded in shape tags
|
||||
if (!(drawable instanceof ImageTag) || (swf.isAS3() && layer.hasImage)) {
|
||||
drawable.toImage(dframe, time, ratio, renderContext, img, isClip || clipDepth > -1, m, strokeTransform, absMat, clrTrans);
|
||||
} else {
|
||||
// todo: show one time warning
|
||||
|
||||
Reference in New Issue
Block a user