mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-25 12:40:45 +00:00
Issue #428 flash player window resized to the size of the loaded SWF, scalemode is configurable
This commit is contained in:
@@ -37,13 +37,16 @@ end;
|
||||
|
||||
procedure TfrmMain.FormCreate(Sender: TObject);
|
||||
const
|
||||
exeSize = 469504;
|
||||
exeSize = 470016;
|
||||
var
|
||||
stream: TFileStream;
|
||||
buffer: array of Byte;
|
||||
tempFile: array[0..MAX_PATH - 1] of Char;
|
||||
tempPath: array[0..MAX_PATH - 1] of Char;
|
||||
flashVarData : TVarData;
|
||||
width: Integer;
|
||||
height: Integer;
|
||||
scaleMode: Byte;
|
||||
begin
|
||||
flaPreview := TMySWF.Create(frmMain);
|
||||
flaPreview.Parent := frmMain;
|
||||
@@ -54,16 +57,25 @@ begin
|
||||
raise Exception.Create(
|
||||
'GetTempFileName API failed. ' + SysErrorMessage(GetLastError)
|
||||
);
|
||||
stream := TFileStream.Create(ParamStr(0), fmOpenRead);
|
||||
stream.Seek(exeSize, soBeginning);
|
||||
SetLength(buffer, stream.Size - exeSize);
|
||||
try
|
||||
stream.Read(buffer[0], Length(buffer));
|
||||
finally
|
||||
stream.Free;
|
||||
stream := TFileStream.Create(ParamStr(0), fmOpenRead);
|
||||
stream.Seek(exeSize, soBeginning);
|
||||
stream.Read(width, 4);
|
||||
stream.Read(height, 4);
|
||||
stream.Read(scaleMode, 1);
|
||||
SetLength(buffer, stream.Size - exeSize);
|
||||
try
|
||||
stream.Read(buffer[0], Length(buffer));
|
||||
finally
|
||||
stream.Free;
|
||||
end;
|
||||
except
|
||||
width := 12800;
|
||||
height := 9600;
|
||||
scaleMode := 3;
|
||||
end;
|
||||
stream := TFileStream.Create(ParamStr(0), fmOpenRead);
|
||||
stream.Seek(exeSize, soBeginning);
|
||||
ClientWidth := width div 20;
|
||||
ClientHeight := height div 20;
|
||||
stream := TFileStream.Create(tempFile, fmOpenWrite);
|
||||
try
|
||||
stream.Write(buffer[0], Length(buffer));
|
||||
@@ -71,7 +83,7 @@ begin
|
||||
stream.Free;
|
||||
end;
|
||||
flaPreview.Movie := tempFile;
|
||||
flaPreview.ScaleMode := 3;
|
||||
flaPreview.ScaleMode := scaleMode;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.FormResize(Sender: TObject);
|
||||
|
||||
Reference in New Issue
Block a user