From 963919b3e895339c6713952e14b908c2d1a843ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sun, 28 Sep 2014 19:59:39 +0200 Subject: [PATCH] zoom, snapshot for original Flash Player too Issue #686 disabled right click menu for original Flash Player --- lib/FlashPlayer.exe | Bin 493568 -> 494592 bytes libsrc/FlashPlayer/uMain.dfm | 1312 ++++++++--------- libsrc/FlashPlayer/uMain.pas | 972 ++++++------ .../decompiler/flash/gui/ImagePanel.java | 205 +-- .../decompiler/flash/gui/PreviewPanel.java | 7 +- .../decompiler/flash/gui/SoundTagPlayer.java | 36 + .../flash/gui/player/FlashPlayerPanel.java | 145 +- .../flash/gui/player/MediaDisplay.java | 105 +- .../flash/gui/player/PlayerControls.java | 211 ++- 9 files changed, 1655 insertions(+), 1338 deletions(-) diff --git a/lib/FlashPlayer.exe b/lib/FlashPlayer.exe index 5e418d550e149ffac266632355a5202e2d8bd801..157a692bffadd7c2b057cfe977a34344b281b8ed 100644 GIT binary patch delta 144532 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 delta 144033 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 z zJhuf4@V@NRAe&1HV})HWg0iD`l?gdzaun(T*IN>$|cL;C+@GF1;hx!+{#(u;I8y#QZ!TeYi-{`?w zvLE;%59Y;=^HM^-≀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 bytesToRead) then - begin - Application.Terminate; - end; -end; - -procedure WritePipe(pipe: cardinal; var buffer: TBuf; bytesToWrite: cardinal); -var - written: cardinal; - writeResult: longbool; -begin - written := 0; - writeResult := WriteFile(pipe, buffer, bytesToWrite, written, nil); - if (not writeResult) or (written <> bytesToWrite) then - begin - Application.Terminate; - end; -end; - -procedure TPipeThread.freeSWF(); -begin - if Assigned(flaPreview) then - begin - try - flaPreview.Stop; - flaPreview.Movie := ''; - flaPreview.Free; - flaPreview := nil; - except - on E: Exception do - begin - end; - end; - end; -end; - -procedure TPipeThread.displaySWF(); -begin - Windows.SetParent(frmMain.Handle, target); - freeSWF(); - flaPreview := TMySWF.Create(frmMain); - flaPreview.Left := 0; - flaPreview.Top := 0; - flaPreview.Width := self.w; - flaPreview.Height := self.h; - frmMain.Caption := 'set movie:' + flashFile; - flaPreview.Parent := frmMain; - flaPreview.Movie := flashFile; - flaPreview.SetFocus; -end; - -procedure TPipeThread.setBGColor(); -begin - frmMain.Color := self.bgColor; -end; - - -procedure TPipeThread.setPos(); -begin - SetWindowPos(frmMain.Handle, 0, 0, 0, self.w, self.h, SWP_SHOWWINDOW); - flaPreview.Left := 0; - flaPreview.Top := 0; - flaPreview.Width := self.w; - flaPreview.Height := self.h; - flaPreview.CreateWnd; - //displaySWF(); -end; - -procedure TPipeThread.Execute(); -var - pipe: cardinal; - buffer: TBuf; - pipename: PAnsiChar; - len: integer; - cmd: integer; - val: cardinal; - vals: string; - vars: string; - -const - CMD_PLAY = 1; - CMD_RESIZE = 2; - CMD_BGCOLOR = 3; - CMD_CURRENT_FRAME = 4; - CMD_TOTAL_FRAMES = 5; - CMD_PAUSE = 6; - CMD_RESUME = 7; - CMD_PLAYING = 8; - CMD_REWIND = 9; - CMD_GOTO = 10; - CMD_CALL = 11; - CMD_GETVARIABLE = 12; - CMD_SETVARIABLE = 13; -begin - - try - pipename := PAnsiChar('\\.\\pipe\ffdec_flashplayer_' + ParamStr(1)); - begin - pipe := CreateFile(pipename, GENERIC_READ or GENERIC_WRITE, - FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); - - repeat - try - ReadPipe(pipe, buffer, 1); - cmd := buffer[0]; - case cmd of - CMD_PLAY: - begin - ReadPipe(pipe, buffer, 1); - len := buffer[0]; - ReadPipe(pipe, buffer, len); - self.flashFile := arrToStr(buffer, len); - try - Synchronize(displaySWF); - except - on E: Exception do - begin - freeSWF(); - end; - end; - end; - CMD_RESIZE: - begin - ReadPipe(pipe, buffer, 4); - self.w := buffer[0] * 256 + buffer[1]; - self.h := buffer[2] * 256 + buffer[3]; - Synchronize(setPos); - end; - CMD_BGCOLOR: - begin - ReadPipe(pipe, buffer, 3); - self.bgColor := RGB(buffer[0], buffer[1], buffer[2]); - Synchronize(setBGColor); - end; - CMD_CURRENT_FRAME: - begin - val := 0; - try - if flaPreview.ReadyState = 4 then - val := flaPreview.CurrentFrame - except - on E: Exception do - begin - freeSWF(); - end; - end; - buffer[0] := (val shr 8) mod 256; - buffer[1] := val mod 256; - WritePipe(pipe, buffer, 2); - end; - CMD_TOTAL_FRAMES: - begin - val := 0; - try - if flaPreview.ReadyState = 4 then - val := flaPreview.TotalFrames - except - on E: Exception do - begin - freeSWF(); - end; - end; - buffer[0] := (val shr 8) mod 256; - buffer[1] := val mod 256; - WritePipe(pipe, buffer, 2); - end; - CMD_PAUSE: - begin - try - flaPreview.Stop; - except - on E: Exception do - begin - freeSWF(); - end; - end; - end; - CMD_RESUME: - begin - try - flaPreview.Play; - except - on E: Exception do - begin - freeSWF(); - end; - end; - end; - CMD_PLAYING: - begin - buffer[0] := 0; - try - if flaPreview.ReadyState = 4 then - if flaPreview.IsPlaying then - buffer[0] := 1; - except - on E: Exception do - begin - freeSWF(); - end; - end; - - WritePipe(pipe, buffer, 1); - end; - CMD_REWIND: - begin - try - flaPreview.Rewind; - except - on E: Exception do - begin - freeSWF(); - end; - end; - end; - CMD_GOTO: - begin - ReadPipe(pipe, buffer, 2); - val := (buffer[0] shl 8) + buffer[1]; - try - flaPreview.GotoFrame(val); - except - on E: Exception do - begin - freeSWF(); - end; - end; - end; - CMD_CALL: - begin - ReadPipe(pipe, buffer, 2); - val := (buffer[0] shl 8) + buffer[1]; - ReadPipe(pipe, buffer, val); - SetString(vals, PChar(Addr(buffer)), val); - try - vals := flaPreview.CallFunction(vals); - except - on E: Exception do - begin - vals := ''; - freeSWF(); - end; - end; - val := length(vals); - buffer[0] := (val shr 8) mod 256; - buffer[1] := val mod 256; - WritePipe(pipe, buffer, 2); - Move(vals[1], buffer, val); - WritePipe(pipe, buffer, val); - end; - CMD_GETVARIABLE: - begin - ReadPipe(pipe, buffer, 2); - val := (buffer[0] shl 8) + buffer[1]; - ReadPipe(pipe, buffer, val); - SetString(vals, PChar(Addr(buffer)), val); - try - vals := flaPreview.GetVariable(vals); - except - on E: Exception do - begin - vals := ''; - freeSWF(); - end; - end; - val := length(vals); - buffer[0] := (val shr 8) mod 256; - buffer[1] := val mod 256; - WritePipe(pipe, buffer, 2); - Move(vals[1], buffer, val); - WritePipe(pipe, buffer, val); - end; - CMD_SETVARIABLE: - begin - ReadPipe(pipe, buffer, 2); - val := (buffer[0] shl 8) + buffer[1]; - ReadPipe(pipe, buffer, val); - SetString(vars, PChar(Addr(buffer)), val); - - ReadPipe(pipe, buffer, 2); - val := (buffer[0] shl 8) + buffer[1]; - ReadPipe(pipe, buffer, val); - SetString(vals, PChar(Addr(buffer)), val); - - try - flaPreview.SetVariable(vars, vals); - except - on E: Exception do - begin - freeSWF(); - end; - end; - end; - end; - except - on E: Exception do - begin - freeSWF(); - end; - end; - until False; - - CloseHandle(pipe); - end; - except - on E: Exception do - begin - end; - end; -end; - -procedure TfrmMain.FormActivate(Sender: TObject); -begin - - if (ParamCount >= 2) then - begin - flaPreview.Parent := frmMain; - - ShowWindow(Application.Handle, SW_HIDE); - SetWindowLong(Application.Handle, GWL_EXSTYLE, - getWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW); - ShowWindow(Application.Handle, SW_SHOW); - - SetForegroundWindow(HWND(StrToInt(ParamStr(2)))); - frmMain.Caption := 'FlashPlayerWindow_' + ParamStr(2); - Application.Title := 'FlashPlayerWindow_' + ParamStr(2); - target := HWND(StrToInt(ParamStr(1))); - - SetWindowLong(frmMain.Handle, GWL_STYLE, 0); - ShowWindow(frmMain.Handle, SW_SHOW); - - frmMain.Left := 0; - frmMain.Top := 0; - Windows.SetParent(frmMain.Handle, target); - - t := TPipeThread.Create(True); - t.Resume; - end; -end; - -procedure TfrmMain.FormCreate(Sender: TObject); -begin - if (ParamCount >= 2) then - begin - flaPreview := TMySWF.Create(frmMain); - flaPreview.AllowScriptAccess := 'always'; - flaPreview.BackgroundColor := -1; - end; -end; - -procedure TfrmMain.FormDestroy(Sender: TObject); -begin - t.Free; -end; - -procedure TfrmMain.tmrWatchDogTimer(Sender: TObject); -begin - if target <> 0 then - begin - if not IsWindow(target) then - begin - Application.Terminate; - end; - end; -end; - -end. +unit uMain; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, OleCtrls, ShockwaveFlashObjects_TLB, StdCtrls, ExtCtrls; + +type + TfrmMain = class(TForm) + tmrWatchDog: TTimer; + + procedure FormActivate(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure FormDestroy(Sender: TObject); + procedure tmrWatchDogTimer(Sender: TObject); + private + procedure NoRightClick(var Msg:TMsg; var handled:Boolean); + public + { Public declarations } + end; + +type + TMySWF = class(TShockwaveFlash) + public + procedure CreateWnd; override; + end; + +type + TPipeThread = class(TThread) + protected + flashFile: string; + w: integer; + h: integer; + bgColor: integer; + bgTColor: TColor; + zoom: integer; + procedure Execute; override; + procedure displaySWF; + procedure freeSWF; + procedure setPos; + procedure setBGColor; + procedure setZoom; + end; + + TBuf = array[0..255] of byte; + +var + frmMain: TfrmMain; + k: string; + t: TPipeThread; + flaPreview: TMySWF; + target: HWND = 0; + clicked: integer = 0; + xpos : integer = 0; + ypos : integer = 0; + +implementation + +{$R *.dfm} + + + +procedure TfrmMain.NoRightClick(var Msg:TMsg; var handled:Boolean); +begin + if((Msg.message = WM_LBUTTONDOWN) and (Msg.wParam = MK_LBUTTON)) then + begin + clicked := 1; + xpos := LOWORD(Msg.lParam); + ypos := HIWORD(Msg.lParam); + end; + + if((Msg.message = WM_RBUTTONDOWN) and (Msg.wParam = MK_RBUTTON)) then + begin + clicked := 2; + xpos := LOWORD(Msg.lParam); + ypos := HIWORD(Msg.lParam); + handled := true; + end + else + handled := false; +end; + + +procedure TMySWF.CreateWnd; +begin + inherited; +end; + +function arrToStr(k: TBuf; len: integer): string; +var + s: string; + i: integer; +begin + s := ''; + for i := 0 to len - 1 do + begin + if k[i] = 0 then + break; + s := s + '' + chr(k[i]); + end; + Result := s; +end; + +procedure ReadPipe(pipe: cardinal; var buffer: TBuf; bytesToRead: cardinal); +var + numBytesRead: DWORD; + readResult: longbool; +begin + numBytesRead := 0; + readResult := ReadFile(pipe, buffer, bytesToRead, numBytesRead, nil); + if (not readResult) or (numBytesRead <> bytesToRead) then + begin + Application.Terminate; + end; +end; + +procedure WritePipe(pipe: cardinal; var buffer: TBuf; bytesToWrite: cardinal); +var + written: cardinal; + writeResult: longbool; +begin + written := 0; + writeResult := WriteFile(pipe, buffer, bytesToWrite, written, nil); + if (not writeResult) or (written <> bytesToWrite) then + begin + Application.Terminate; + end; +end; + +procedure TPipeThread.freeSWF(); +begin + if Assigned(flaPreview) then + begin + try + flaPreview.Stop; + flaPreview.Movie := ''; + flaPreview.Free; + flaPreview := nil; + except + on E: Exception do + begin + end; + end; + end; +end; + +procedure TPipeThread.displaySWF(); +begin + Windows.SetParent(frmMain.Handle, target); + freeSWF(); + flaPreview := TMySWF.Create(frmMain); + flaPreview.Left := 0; + flaPreview.Top := 0; + flaPreview.Width := self.w; + flaPreview.Height := self.h; + frmMain.Caption := 'set movie:' + flashFile; + flaPreview.Parent := frmMain; + flaPreview.Movie := flashFile; + flaPreview.SetFocus; +end; + +procedure TPipeThread.setBGColor(); +begin + flaPreview.BackgroundColor := self.bgColor; + frmMain.Color := self.bgTColor; +end; + + +procedure TPipeThread.setPos(); +begin + SetWindowPos(frmMain.Handle, 0, 0, 0, self.w, self.h, SWP_SHOWWINDOW); + flaPreview.Left := 0; + flaPreview.Top := 0; + flaPreview.Width := self.w; + flaPreview.Height := self.h; + flaPreview.CreateWnd; +end; + + + +procedure TPipeThread.setZoom(); +begin + flaPreview.Zoom(self.zoom); +end; + +procedure TPipeThread.Execute(); +var + pipe: cardinal; + buffer: TBuf; + pipename: PAnsiChar; + len: integer; + cmd: integer; + val: cardinal; + vals: string; + vars: string; + +const + CMD_PLAY = 1; + CMD_RESIZE = 2; + CMD_BGCOLOR = 3; + CMD_CURRENT_FRAME = 4; + CMD_TOTAL_FRAMES = 5; + CMD_PAUSE = 6; + CMD_RESUME = 7; + CMD_PLAYING = 8; + CMD_REWIND = 9; + CMD_GOTO = 10; + CMD_CALL = 11; + CMD_GETVARIABLE = 12; + CMD_SETVARIABLE = 13; + CMD_CHECKCLICK = 14; + CMD_ZOOM = 15; +begin + + try + pipename := PAnsiChar('\\.\\pipe\ffdec_flashplayer_' + ParamStr(1)); + begin + pipe := CreateFile(pipename, GENERIC_READ or GENERIC_WRITE, + FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); + + repeat + try + ReadPipe(pipe, buffer, 1); + cmd := buffer[0]; + case cmd of + + CMD_CHECKCLICK: + begin + buffer[0]:=clicked; + len := 1; + if clicked>0 then + begin + len := len + 4; + buffer[1] := (xpos shr 8) mod 256; + buffer[2] := xpos mod 256; + buffer[3] := (ypos shr 8) mod 256; + buffer[4] := ypos mod 256; + end; + clicked := 0; + xpos := 0; + ypos := 0; + + WritePipe(pipe,buffer,len); + end; + CMD_ZOOM: + begin + ReadPipe(pipe, buffer, 2); + self.zoom := buffer[0] * 256 + buffer[1]; + Synchronize(setZoom); + end; + CMD_PLAY: + begin + ReadPipe(pipe, buffer, 1); + len := buffer[0]; + ReadPipe(pipe, buffer, len); + self.flashFile := arrToStr(buffer, len); + try + Synchronize(displaySWF); + except + on E: Exception do + begin + freeSWF(); + end; + end; + end; + CMD_RESIZE: + begin + ReadPipe(pipe, buffer, 4); + self.w := buffer[0] * 256 + buffer[1]; + self.h := buffer[2] * 256 + buffer[3]; + Synchronize(setPos); + end; + CMD_BGCOLOR: + begin + ReadPipe(pipe, buffer, 3); + self.bgColor := (buffer[0] shl 16)+(buffer[1] shl 8)+(buffer[2]); + self.bgTColor := RGB(buffer[0],buffer[1],buffer[2]); + Synchronize(setBGColor); + end; + CMD_CURRENT_FRAME: + begin + val := 0; + try + if flaPreview.ReadyState = 4 then + val := flaPreview.CurrentFrame + except + on E: Exception do + begin + freeSWF(); + end; + end; + buffer[0] := (val shr 8) mod 256; + buffer[1] := val mod 256; + WritePipe(pipe, buffer, 2); + end; + CMD_TOTAL_FRAMES: + begin + val := 0; + try + if flaPreview.ReadyState = 4 then + val := flaPreview.TotalFrames + except + on E: Exception do + begin + freeSWF(); + end; + end; + buffer[0] := (val shr 8) mod 256; + buffer[1] := val mod 256; + WritePipe(pipe, buffer, 2); + end; + CMD_PAUSE: + begin + try + flaPreview.Stop; + except + on E: Exception do + begin + freeSWF(); + end; + end; + end; + CMD_RESUME: + begin + try + flaPreview.Play; + except + on E: Exception do + begin + freeSWF(); + end; + end; + end; + CMD_PLAYING: + begin + buffer[0] := 0; + try + if flaPreview.ReadyState = 4 then + if flaPreview.IsPlaying then + buffer[0] := 1; + except + on E: Exception do + begin + freeSWF(); + end; + end; + + WritePipe(pipe, buffer, 1); + end; + CMD_REWIND: + begin + try + flaPreview.Rewind; + except + on E: Exception do + begin + freeSWF(); + end; + end; + end; + CMD_GOTO: + begin + ReadPipe(pipe, buffer, 2); + val := (buffer[0] shl 8) + buffer[1]; + try + flaPreview.GotoFrame(val); + except + on E: Exception do + begin + freeSWF(); + end; + end; + end; + CMD_CALL: + begin + ReadPipe(pipe, buffer, 2); + val := (buffer[0] shl 8) + buffer[1]; + ReadPipe(pipe, buffer, val); + SetString(vals, PChar(Addr(buffer)), val); + try + vals := flaPreview.CallFunction(vals); + except + on E: Exception do + begin + vals := ''; + freeSWF(); + end; + end; + val := length(vals); + buffer[0] := (val shr 8) mod 256; + buffer[1] := val mod 256; + WritePipe(pipe, buffer, 2); + Move(vals[1], buffer, val); + WritePipe(pipe, buffer, val); + end; + CMD_GETVARIABLE: + begin + ReadPipe(pipe, buffer, 2); + val := (buffer[0] shl 8) + buffer[1]; + ReadPipe(pipe, buffer, val); + SetString(vals, PChar(Addr(buffer)), val); + try + vals := flaPreview.GetVariable(vals); + except + on E: Exception do + begin + vals := ''; + freeSWF(); + end; + end; + val := length(vals); + buffer[0] := (val shr 8) mod 256; + buffer[1] := val mod 256; + WritePipe(pipe, buffer, 2); + Move(vals[1], buffer, val); + WritePipe(pipe, buffer, val); + end; + CMD_SETVARIABLE: + begin + ReadPipe(pipe, buffer, 2); + val := (buffer[0] shl 8) + buffer[1]; + ReadPipe(pipe, buffer, val); + SetString(vars, PChar(Addr(buffer)), val); + + ReadPipe(pipe, buffer, 2); + val := (buffer[0] shl 8) + buffer[1]; + ReadPipe(pipe, buffer, val); + SetString(vals, PChar(Addr(buffer)), val); + + try + flaPreview.SetVariable(vars, vals); + except + on E: Exception do + begin + freeSWF(); + end; + end; + end; + end; + except + on E: Exception do + begin + freeSWF(); + end; + end; + until False; + + CloseHandle(pipe); + end; + except + on E: Exception do + begin + end; + end; +end; + +procedure TfrmMain.FormActivate(Sender: TObject); +begin + + if (ParamCount >= 2) then + begin + flaPreview.Parent := frmMain; + + ShowWindow(Application.Handle, SW_HIDE); + SetWindowLong(Application.Handle, GWL_EXSTYLE, + getWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW); + ShowWindow(Application.Handle, SW_SHOW); + + SetForegroundWindow(HWND(StrToInt(ParamStr(2)))); + frmMain.Caption := 'FlashPlayerWindow_' + ParamStr(2); + Application.Title := 'FlashPlayerWindow_' + ParamStr(2); + target := HWND(StrToInt(ParamStr(1))); + + SetWindowLong(frmMain.Handle, GWL_STYLE, 0); + ShowWindow(frmMain.Handle, SW_SHOW); + + frmMain.Left := 0; + frmMain.Top := 0; + Windows.SetParent(frmMain.Handle, target); + + t := TPipeThread.Create(True); + t.Resume; + end; +end; + +procedure TfrmMain.FormCreate(Sender: TObject); +begin + if (ParamCount >= 2) then + begin + Application.OnMessage := NoRightClick; + try + flaPreview := TMySWF.Create(frmMain); + flaPreview.Scale := 'noscale'; + flaPreview.WMode := 'direct'; + flaPreview.Menu := false; + flaPreview.AllowScriptAccess := 'always'; + flaPreview.BackgroundColor := -1; + except + Application.Terminate; + end; + end; +end; + +procedure TfrmMain.FormDestroy(Sender: TObject); +begin + t.Free; +end; + +procedure TfrmMain.tmrWatchDogTimer(Sender: TObject); +begin + if target <> 0 then + begin + if not IsWindow(target) then + begin + Application.Terminate; + end; + end; +end; + +end. diff --git a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java index ee170ad2a..a362885a7 100644 --- a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java @@ -79,12 +79,7 @@ import javax.swing.JPanel; public final class ImagePanel extends JPanel implements ActionListener, MediaDisplay { - static final String ACTION_SELECT_BKCOLOR = "SELECTCOLOR"; - static final String ACTION_ZOOMIN = "ZOOMIN"; - static final String ACTION_ZOOMOUT = "ZOOMOUT"; - static final String ACTION_ZOOMFIT = "ZOOMFIT"; - static final String ACTION_ZOOMNONE = "ZOOMNONE"; - static final String ACTION_SNAPSHOT = "SNAPSHOT"; + private Timelined timelined; private boolean stillFrame = false; @@ -101,12 +96,7 @@ public final class ImagePanel extends JPanel implements ActionListener, MediaDis private int time = 0; private int selectedDepth = -1; private double zoom = 1.0; - private double realZoom = 1.0; - private JLabel percentLabel = new JLabel("100%"); - private JPanel zoomPanel; - - public static final int ZOOM_DECADE_STEPS = 10; - public static final double ZOOM_MULTIPLIER = Math.pow(10, 1.0 / ZOOM_DECADE_STEPS); + public void selectDepth(int depth) { if (depth != selectedDepth) { @@ -332,52 +322,7 @@ public final class ImagePanel extends JPanel implements ActionListener, MediaDis iconPanel = new IconPanel(); //labelPan.add(label, new GridBagConstraints()); - add(iconPanel, BorderLayout.CENTER); - - JPanel bottomPanel = new JPanel(new BorderLayout()); - JPanel buttonsPanel = new JPanel(new FlowLayout()); - JButton selectColorButton = new JButton(View.getIcon("color16")); - selectColorButton.addActionListener(this); - selectColorButton.setActionCommand(ACTION_SELECT_BKCOLOR); - selectColorButton.setToolTipText(AppStrings.translate("button.selectbkcolor.hint")); - - JButton zoomInButton = new JButton(View.getIcon("zoomin16")); - zoomInButton.addActionListener(this); - zoomInButton.setActionCommand(ACTION_ZOOMIN); - zoomInButton.setToolTipText(AppStrings.translate("button.zoomin.hint")); - - JButton zoomOutButton = new JButton(View.getIcon("zoomout16")); - zoomOutButton.addActionListener(this); - zoomOutButton.setActionCommand(ACTION_ZOOMOUT); - zoomOutButton.setToolTipText(AppStrings.translate("button.zoomout.hint")); - - JButton zoomFitButton = new JButton(View.getIcon("zoomfit16")); - zoomFitButton.addActionListener(this); - zoomFitButton.setActionCommand(ACTION_ZOOMFIT); - zoomFitButton.setToolTipText(AppStrings.translate("button.zoomfit.hint")); - - JButton zoomNoneButton = new JButton(View.getIcon("zoomnone16")); - zoomNoneButton.addActionListener(this); - zoomNoneButton.setActionCommand(ACTION_ZOOMNONE); - zoomNoneButton.setToolTipText(AppStrings.translate("button.zoomnone.hint")); - - JButton snapshotButton = new JButton(View.getIcon("snapshot16")); - snapshotButton.addActionListener(this); - snapshotButton.setActionCommand(ACTION_SNAPSHOT); - snapshotButton.setToolTipText(AppStrings.translate("button.snapshot.hint")); - - zoomPanel = new JPanel(new FlowLayout()); - updateZoom(); - zoomPanel.add(percentLabel); - zoomPanel.add(zoomInButton); - zoomPanel.add(zoomOutButton); - zoomPanel.add(zoomNoneButton); - zoomPanel.add(zoomFitButton); - zoomPanel.add(selectColorButton); - buttonsPanel.add(zoomPanel); - buttonsPanel.add(snapshotButton); - bottomPanel.add(buttonsPanel, BorderLayout.EAST); - add(bottomPanel, BorderLayout.SOUTH); + add(iconPanel, BorderLayout.CENTER); add(debugLabel, BorderLayout.NORTH); iconPanel.addMouseListener(new MouseAdapter() { @@ -458,116 +403,27 @@ public final class ImagePanel extends JPanel implements ActionListener, MediaDis }); } - private static double roundZoom(double realZoom, int mantisa) { - double l10 = Math.log10(realZoom); - int lg = (int) (-Math.floor(l10) + mantisa - 1); - if (lg < 0) { - lg = 0; - } - BigDecimal bd = new BigDecimal(String.valueOf(realZoom)).setScale(lg, BigDecimal.ROUND_HALF_UP); - return bd.doubleValue(); - } - - private void updateZoom() { - double pctzoom = roundZoom(realZoom * 100, 3); - String r = "" + pctzoom; - zoom = pctzoom / 100.0; - if (r.endsWith(".0")) { - r = r.substring(0, r.length() - 2); - } - percentLabel.setText("" + r + "%"); + @Override + public void zoom(double zoom){ + this.zoom = zoom; drawFrame(); } - - private void putImageToClipBoard(BufferedImage img) { - if (img == null) { - return; - } - TransferableImage trans = new TransferableImage(img); - Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard(); - c.setContents(trans, new ClipboardOwner() { - @Override - public void lostOwnership(Clipboard clipboard, Transferable contents) { - } - }); - } - - private class TransferableImage implements Transferable { - - Image img; - - public TransferableImage(Image img) { - this.img = img; - } - - public Object getTransferData(DataFlavor flavor) - throws UnsupportedFlavorException, IOException { - if (flavor.equals(DataFlavor.imageFlavor) && img != null) { - return img; - } else { - throw new UnsupportedFlavorException(flavor); - } - } - - @Override - public DataFlavor[] getTransferDataFlavors() { - DataFlavor[] flavors = new DataFlavor[1]; - flavors[ 0] = DataFlavor.imageFlavor; - return flavors; - } - - @Override - public boolean isDataFlavorSupported(DataFlavor flavor) { - DataFlavor[] flavors = getTransferDataFlavors(); - for (int i = 0; i < flavors.length; i++) { - if (flavor.equals(flavors[ i])) { - return true; - } - } - - return false; - } - } + + @Override public void actionPerformed(ActionEvent e) { - switch (e.getActionCommand()) { - case ACTION_SELECT_BKCOLOR: - View.execInEventDispatch(new Runnable() { - @Override - public void run() { - Color newColor = JColorChooser.showDialog(null, AppStrings.translate("dialog.selectbkcolor.title"), View.swfBackgroundColor); - if (newColor != null) { - View.swfBackgroundColor = newColor; - setBackground(newColor); - repaint(); - } - } - }); - break; - case ACTION_ZOOMIN: - realZoom *= ZOOM_MULTIPLIER; - updateZoom(); - break; - case ACTION_ZOOMOUT: - realZoom /= ZOOM_MULTIPLIER; - updateZoom(); - break; - case ACTION_ZOOMNONE: - realZoom = 1.0; - updateZoom(); - break; - case ACTION_ZOOMFIT: - realZoom = zoomToFit(); - updateZoom(); - break; - case ACTION_SNAPSHOT: - putImageToClipBoard(iconPanel.getLastImage()); - break; - } + } - private double zoomToFit() { + @Override + public BufferedImage printScreen() { + return iconPanel.getLastImage(); + } + + + + public void zoomToFit() { if (timelined instanceof BoundedTag) { RECT bounds = ((BoundedTag) timelined).getRect(new HashSet()); double w1 = bounds.getWidth() / SWF.unitDivisor; @@ -585,9 +441,8 @@ public final class ImagePanel extends JPanel implements ActionListener, MediaDis } else { w = w2; } - return (double) w / (double) w1; - } - return 1; + zoom = (double) w / (double) w1; + } } public void setImage(byte[] data) { @@ -603,9 +458,15 @@ public final class ImagePanel extends JPanel implements ActionListener, MediaDis } catch (IOException ex) { Logger.getLogger(ImagePanel.class.getName()).log(Level.SEVERE, null, ex); } - zoomPanel.setVisible(false); } + @Override + public boolean zoomAvailable() { + return timelined!=null; + } + + + public synchronized void setTimelined(final Timelined drawable, final SWF swf, int frame) { pause(); if (drawable instanceof ButtonTag) { @@ -629,7 +490,6 @@ public final class ImagePanel extends JPanel implements ActionListener, MediaDis } time = 0; play(); - zoomPanel.setVisible(true); } public void setImage(SerializableImage image) { @@ -642,7 +502,6 @@ public final class ImagePanel extends JPanel implements ActionListener, MediaDis stillFrame = true; iconPanel.setImg(image); iconPanel.setOutlines(new ArrayList(), new ArrayList()); - zoomPanel.setVisible(false); } @Override @@ -905,4 +764,16 @@ public final class ImagePanel extends JPanel implements ActionListener, MediaDis public boolean isLoaded() { return loaded; } + + @Override + public boolean screenAvailable() { + return true; + } + + @Override + public double getZoom() { + return zoom; + } + + } diff --git a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java index 1d4bc8649..57e45665f 100644 --- a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java @@ -118,7 +118,6 @@ public class PreviewPanel extends JSplitPane implements ActionListener { private final MainPanel mainPanel; private final JPanel viewerCards; - private PlayerControls flashControls; private final FlashPlayerPanel flashPanel; private File tempFile; @@ -270,7 +269,7 @@ public class PreviewPanel extends JSplitPane implements ActionListener { JPanel flashPlayPanel = new JPanel(new BorderLayout()); flashPlayPanel.add(flashPanel, BorderLayout.CENTER); - JPanel bottomPanel = new JPanel(new BorderLayout()); + /*JPanel bottomPanel = new JPanel(new BorderLayout()); JPanel buttonsPanel = new JPanel(new FlowLayout()); JButton selectColorButton = new JButton(View.getIcon("color16")); selectColorButton.addActionListener(mainPanel); @@ -279,11 +278,11 @@ public class PreviewPanel extends JSplitPane implements ActionListener { buttonsPanel.add(selectColorButton); bottomPanel.add(buttonsPanel, BorderLayout.EAST); - flashPlayPanel.add(bottomPanel, BorderLayout.SOUTH); + flashPlayPanel.add(bottomPanel, BorderLayout.SOUTH);*/ JPanel flashPlayPanel2 = new JPanel(new BorderLayout()); flashPlayPanel2.add(flashPlayPanel, BorderLayout.CENTER); - flashPlayPanel2.add(flashControls = new PlayerControls(flashPanel), BorderLayout.SOUTH); + flashPlayPanel2.add(new PlayerControls(flashPanel), BorderLayout.SOUTH); leftComponent = flashPlayPanel2; } else { JPanel swtPanel = new JPanel(new BorderLayout()); diff --git a/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java b/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java index 491e7ef54..54d22e73c 100644 --- a/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java +++ b/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java @@ -23,6 +23,7 @@ import com.jpexs.decompiler.flash.tags.Tag; import com.jpexs.decompiler.flash.tags.base.SoundTag; import com.jpexs.helpers.SoundPlayer; import java.awt.Color; +import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -190,6 +191,34 @@ public class SoundTagPlayer implements MediaDisplay { return player.isPlaying(); } + @Override + public boolean screenAvailable() { + return false; + } + + @Override + public void zoom(double zoom) { + + } + + @Override + public boolean zoomAvailable() { + return false; + } + + @Override + public void zoomToFit() { + } + + @Override + public double getZoom() { + return 0; + } + + + + + @Override public synchronized void gotoFrame(int frame) { pause(); @@ -216,4 +245,11 @@ public class SoundTagPlayer implements MediaDisplay { return true; } + @Override + public BufferedImage printScreen() { + return null; + } + + + } diff --git a/src/com/jpexs/decompiler/flash/gui/player/FlashPlayerPanel.java b/src/com/jpexs/decompiler/flash/gui/player/FlashPlayerPanel.java index 5d6344a5c..24ba7ee38 100644 --- a/src/com/jpexs/decompiler/flash/gui/player/FlashPlayerPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/player/FlashPlayerPanel.java @@ -17,6 +17,7 @@ package com.jpexs.decompiler.flash.gui.player; import com.jpexs.decompiler.flash.gui.FlashUnsupportedException; +import com.jpexs.decompiler.flash.gui.View; import com.jpexs.helpers.CancellableWorker; import com.jpexs.helpers.utf8.Utf8Helper; import com.sun.jna.Native; @@ -29,21 +30,30 @@ import com.sun.jna.platform.win32.WinDef; import com.sun.jna.platform.win32.WinNT.HANDLE; import com.sun.jna.platform.win32.WinUser; import com.sun.jna.ptr.IntByReference; +import java.awt.AWTException; import java.awt.Color; import java.awt.Component; import java.awt.Graphics; import java.awt.Panel; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.Robot; import java.awt.event.ComponentEvent; import java.awt.event.ComponentListener; +import java.awt.image.BufferedImage; import java.io.Closeable; import java.io.File; import java.io.IOException; +import java.util.Timer; +import java.util.TimerTask; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.logging.Level; import java.util.logging.Logger; +import javax.swing.JPopupMenu; +import org.pushingpixels.substance.internal.contrib.jgoodies.looks.common.ShadowPopupFactory; /** * @@ -72,11 +82,81 @@ public class FlashPlayerPanel extends Panel implements Closeable, MediaDisplay { private static final int CMD_CALL = 11; private static final int CMD_GETVARIABLE = 12; private static final int CMD_SETVARIABLE = 13; + private static final int CMD_CHECKCLICK = 14; + private static final int CMD_ZOOM = 15; + private static final int PIPE_TIMEOUT_MS = 1000; private int frameRate; public boolean specialPlayback = false; private boolean specialPlaying = false; + private JPopupMenu rightClickMenu = null; + + private Timer rightClickTimer; + @Override + public boolean screenAvailable() { + return true; + } + + @Override + public boolean zoomAvailable() { + return true; + } + + + + @Override + public void zoomToFit() { + //TODO + } + + @Override + public double getZoom() { + return 0; + } + + + + + + + + private synchronized int checkClick(Point ret) throws IOException{ + if(pipe!=null){ + writeToPipe(new byte[]{CMD_CHECKCLICK}); + byte res[] = new byte[1]; + readFromPipe(res); + int button = res[0]; + if(button>0){ + res = new byte[4]; + readFromPipe(res); + ret.x = ((res[0] & 0xff) << 8) + (res[1] & 0xff); + ret.y = ((res[2] & 0xff) << 8) + (res[3] & 0xff); + } + return button; + } + return 0; + } + + private double zoom = 1.0; + + @Override + public synchronized void zoom(double zoom){ + if(pipe!=null){ + try { + long zoomint = Math.round(100/(zoom/this.zoom)); + if(zoom==1.0){ + zoomint = 0; + } + this.zoom = zoom; + writeToPipe(new byte[]{CMD_ZOOM}); + writeToPipe(new byte[]{(byte) ((zoomint >> 8) & 0xff), (byte) (zoomint & 0xff)}); + } catch (IOException ex) { + //ignore + } + } + } + public synchronized String getVariable(String name) throws IOException { if (pipe != null) { writeToPipe(new byte[]{CMD_GETVARIABLE}); @@ -181,16 +261,22 @@ public class FlashPlayerPanel extends Panel implements Closeable, MediaDisplay { public synchronized void setBackground(Color color) { try { writeToPipe(new byte[]{CMD_BGCOLOR}); - writeToPipe(new byte[]{(byte) color.getRed(), (byte) color.getGreen(), (byte) color.getBlue()}); - } catch (IOException ex) { + writeToPipe(new byte[]{(byte) color.getRed(), (byte) color.getGreen(), (byte) color.getBlue()}); + } catch (IOException ex) { } + } + public void setRightClickMenu(JPopupMenu menu){ + rightClickMenu = menu; + } + public FlashPlayerPanel(Component frame) { if (!Platform.isWindows()) { throw new FlashUnsupportedException(); } - this.frame = frame; + this.frame = frame; + //this.add(rightClickMenu); addComponentListener(new ComponentListener() { @Override public void componentResized(ComponentEvent e) { @@ -263,6 +349,10 @@ public class FlashPlayerPanel extends Panel implements Closeable, MediaDisplay { } public synchronized void stopSWF() { + if(rightClickTimer!=null){ + rightClickTimer.cancel(); + rightClickTimer = null; + } displaySWF("-", null, 1); stopped = true; } @@ -271,8 +361,21 @@ public class FlashPlayerPanel extends Panel implements Closeable, MediaDisplay { return stopped; } + @Override + public BufferedImage printScreen() { + Point screenloc = getLocationOnScreen(); + try { + return new Robot().createScreenCapture(new Rectangle(screenloc.x, screenloc.y, getWidth(), getHeight())); + } catch (AWTException ex) { + return null; + } + } + + + public synchronized void displaySWF(String flash, Color bgColor, int frameRate) { try { + zoom = 1.0; this.flash = flash; repaint(); this.frameRate = frameRate; @@ -292,12 +395,48 @@ public class FlashPlayerPanel extends Panel implements Closeable, MediaDisplay { if (specialPlayback) { play(); } + if(rightClickTimer!=null){ + rightClickTimer.cancel(); + } + rightClickTimer = new Timer(); + rightClickTimer.schedule(new TimerTask() { + + @Override + public void run() { + try { + final Point pt = new Point(); + final int button = checkClick(pt); + View.execInEventDispatch(new Runnable() { + + @Override + public void run() { + if(rightClickMenu!=null){ + if(button == 2){ + ShadowPopupFactory.uninstall(); + rightClickMenu.show(FlashPlayerPanel.this, pt.x, pt.y); + ShadowPopupFactory.install(); + } + if(button == 1){ + rightClickMenu.setVisible(false); + } + } + } + }); + } catch (IOException ex) { + //ignore + } + } + }, 100,100); } catch (IOException ex) { } } @Override public void close() throws IOException { + if(rightClickTimer!=null){ + rightClickTimer.cancel(); + rightClickTimer = null; + } Kernel32.INSTANCE.CloseHandle(pipe); Kernel32.INSTANCE.TerminateProcess(process, 0); } diff --git a/src/com/jpexs/decompiler/flash/gui/player/MediaDisplay.java b/src/com/jpexs/decompiler/flash/gui/player/MediaDisplay.java index 7190aa584..941d70e9a 100644 --- a/src/com/jpexs/decompiler/flash/gui/player/MediaDisplay.java +++ b/src/com/jpexs/decompiler/flash/gui/player/MediaDisplay.java @@ -1,46 +1,59 @@ -/* - * Copyright (C) 2010-2014 JPEXS - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.jpexs.decompiler.flash.gui.player; - -import java.awt.Color; - -/** - * - * @author JPEXS - */ -public interface MediaDisplay { - - public int getCurrentFrame(); - - public int getTotalFrames(); - - public void pause(); - - public void play(); - - public void rewind(); - - public boolean isPlaying(); - - public void gotoFrame(int frame); - - public void setBackground(Color color); - - public int getFrameRate(); - - public boolean isLoaded(); -} +/* + * Copyright (C) 2010-2014 JPEXS + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.jpexs.decompiler.flash.gui.player; + +import java.awt.Color; +import java.awt.image.BufferedImage; + +/** + * + * @author JPEXS + */ +public interface MediaDisplay { + + public int getCurrentFrame(); + + public int getTotalFrames(); + + public void zoom(double zoom); + + public void pause(); + + public void play(); + + public void rewind(); + + public boolean isPlaying(); + + public void gotoFrame(int frame); + + public void setBackground(Color color); + + public int getFrameRate(); + + public boolean isLoaded(); + + public BufferedImage printScreen(); + + public boolean screenAvailable(); + + public boolean zoomAvailable(); + + public void zoomToFit(); + + public double getZoom(); +} diff --git a/src/com/jpexs/decompiler/flash/gui/player/PlayerControls.java b/src/com/jpexs/decompiler/flash/gui/player/PlayerControls.java index 478b85a9d..2ec2bb586 100644 --- a/src/com/jpexs/decompiler/flash/gui/player/PlayerControls.java +++ b/src/com/jpexs/decompiler/flash/gui/player/PlayerControls.java @@ -17,20 +17,33 @@ package com.jpexs.decompiler.flash.gui.player; import com.jpexs.decompiler.flash.gui.AppStrings; +import com.jpexs.decompiler.flash.gui.ImagePanel; import com.jpexs.decompiler.flash.gui.View; import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; +import java.awt.Image; import java.awt.Insets; +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.ClipboardOwner; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.math.BigDecimal; import java.util.Timer; import java.util.TimerTask; import javax.swing.BoxLayout; import javax.swing.Icon; import javax.swing.JButton; +import javax.swing.JColorChooser; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JProgressBar; @@ -43,6 +56,12 @@ public class PlayerControls extends JPanel implements ActionListener { static final String ACTION_PAUSE = "PAUSE"; static final String ACTION_STOP = "STOP"; + static final String ACTION_SELECT_BKCOLOR = "SELECTCOLOR"; + static final String ACTION_ZOOMIN = "ZOOMIN"; + static final String ACTION_ZOOMOUT = "ZOOMOUT"; + static final String ACTION_ZOOMFIT = "ZOOMFIT"; + static final String ACTION_ZOOMNONE = "ZOOMNONE"; + static final String ACTION_SNAPSHOT = "SNAPSHOT"; private final JButton pauseButton; private boolean paused = false; @@ -53,17 +72,78 @@ public class PlayerControls extends JPanel implements ActionListener { private final JLabel totalTimeLabel; private static final Icon pauseIcon = View.getIcon("pause16"); private static final Icon playIcon = View.getIcon("play16"); - + + private JLabel percentLabel = new JLabel("100%"); + private JPanel zoomPanel; + private JPanel graphicControls; + private JPanel playbackControls; + private double realZoom = 1.0; + + private JButton zoomFitButton; + + public static final int ZOOM_DECADE_STEPS = 10; + public static final double ZOOM_MULTIPLIER = Math.pow(10, 1.0 / ZOOM_DECADE_STEPS); + public PlayerControls(MediaDisplay display) { + + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + + graphicControls = new JPanel(new BorderLayout()); + JPanel graphicButtonsPanel = new JPanel(new FlowLayout()); + JButton selectColorButton = new JButton(View.getIcon("color16")); + selectColorButton.addActionListener(this); + selectColorButton.setActionCommand(ACTION_SELECT_BKCOLOR); + selectColorButton.setToolTipText(AppStrings.translate("button.selectbkcolor.hint")); + + JButton zoomInButton = new JButton(View.getIcon("zoomin16")); + zoomInButton.addActionListener(this); + zoomInButton.setActionCommand(ACTION_ZOOMIN); + zoomInButton.setToolTipText(AppStrings.translate("button.zoomin.hint")); + + JButton zoomOutButton = new JButton(View.getIcon("zoomout16")); + zoomOutButton.addActionListener(this); + zoomOutButton.setActionCommand(ACTION_ZOOMOUT); + zoomOutButton.setToolTipText(AppStrings.translate("button.zoomout.hint")); + + zoomFitButton = new JButton(View.getIcon("zoomfit16")); + zoomFitButton.addActionListener(this); + zoomFitButton.setActionCommand(ACTION_ZOOMFIT); + zoomFitButton.setToolTipText(AppStrings.translate("button.zoomfit.hint")); + + JButton zoomNoneButton = new JButton(View.getIcon("zoomnone16")); + zoomNoneButton.addActionListener(this); + zoomNoneButton.setActionCommand(ACTION_ZOOMNONE); + zoomNoneButton.setToolTipText(AppStrings.translate("button.zoomnone.hint")); + + JButton snapshotButton = new JButton(View.getIcon("snapshot16")); + snapshotButton.addActionListener(this); + snapshotButton.setActionCommand(ACTION_SNAPSHOT); + snapshotButton.setToolTipText(AppStrings.translate("button.snapshot.hint")); + + zoomPanel = new JPanel(new FlowLayout()); + //updateZoom(); + zoomPanel.add(percentLabel); + zoomPanel.add(zoomInButton); + zoomPanel.add(zoomOutButton); + zoomPanel.add(zoomNoneButton); + zoomPanel.add(zoomFitButton); + zoomPanel.add(selectColorButton); + graphicButtonsPanel.add(zoomPanel); + graphicButtonsPanel.add(snapshotButton); + graphicControls.add(graphicButtonsPanel,BorderLayout.EAST); + + add(graphicControls); + graphicControls.setVisible(display.screenAvailable()); + + playbackControls = new JPanel(); this.display = display; JPanel controlPanel = new JPanel(new BorderLayout()); timeLabel = new JLabel("00:00.00"); totalTimeLabel = new JLabel("00:00.00"); controlPanel.add(timeLabel, BorderLayout.WEST); controlPanel.add(totalTimeLabel, BorderLayout.EAST); - setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); - JPanel buttonsPanel = new JPanel(); - buttonsPanel.setLayout(new FlowLayout()); + playbackControls.setLayout(new BoxLayout(playbackControls, BoxLayout.Y_AXIS)); + JPanel buttonsPanel = new JPanel(new FlowLayout()); pauseButton = new JButton(AppStrings.translate("preview.pause"), pauseIcon); pauseButton.setMargin(new Insets(0, 0, 0, 0)); @@ -93,8 +173,8 @@ public class PlayerControls extends JPanel implements ActionListener { } } }); - add(progress); - add(controlPanel); + playbackControls.add(progress); + playbackControls.add(controlPanel); timer = new Timer(); timer.schedule(new TimerTask() { @Override @@ -102,6 +182,7 @@ public class PlayerControls extends JPanel implements ActionListener { update(); } }, 100, 100); + add(playbackControls); } private String formatMs(long ms) { @@ -133,7 +214,12 @@ public class PlayerControls extends JPanel implements ActionListener { View.execInEventDispatch(new Runnable() { @Override - public void run() { + public void run() { + double zoom = display.getZoom(); + zoomFitButton.setVisible(zoom!=0.0); + percentLabel.setVisible(zoom!=0.0); + zoomPanel.setVisible(display.zoomAvailable()); + graphicControls.setVisible(display.screenAvailable()); int totalFrames = display.getTotalFrames(); int currentFrame = display.getCurrentFrame(); int frameRate = display.getFrameRate(); @@ -149,11 +235,11 @@ public class PlayerControls extends JPanel implements ActionListener { timeLabel.setText(formatMs((currentFrame * 1000) / frameRate)); totalTimeLabel.setText(formatMs(((totalFrames - 1) * 1000) / frameRate)); } - if (totalFrames <= 1 && isVisible()) { - setVisible(false); + if (totalFrames <= 1 && playbackControls.isVisible()) { + playbackControls.setVisible(false); } - if (totalFrames > 1 && !isVisible()) { - setVisible(true); + if (totalFrames > 1 && !playbackControls.isVisible()) { + playbackControls.setVisible(true); } if (display.isPlaying() == paused) { paused = !paused; @@ -171,6 +257,27 @@ public class PlayerControls extends JPanel implements ActionListener { } + private static double roundZoom(double realZoom, int mantisa) { + double l10 = Math.log10(realZoom); + int lg = (int) (-Math.floor(l10) + mantisa - 1); + if (lg < 0) { + lg = 0; + } + BigDecimal bd = new BigDecimal(String.valueOf(realZoom)).setScale(lg, BigDecimal.ROUND_HALF_UP); + return bd.doubleValue(); + } + + private void updateZoom() { + double pctzoom = roundZoom(realZoom * 100, 3); + String r = "" + pctzoom; + double zoom = pctzoom / 100.0; + if (r.endsWith(".0")) { + r = r.substring(0, r.length() - 2); + } + percentLabel.setText("" + r + "%"); + display.zoom(zoom); + } + @Override public void actionPerformed(ActionEvent e) { switch (e.getActionCommand()) { @@ -185,6 +292,88 @@ public class PlayerControls extends JPanel implements ActionListener { display.pause(); display.rewind(); break; + case ACTION_SELECT_BKCOLOR: + View.execInEventDispatch(new Runnable() { + @Override + public void run() { + Color newColor = JColorChooser.showDialog(null, AppStrings.translate("dialog.selectbkcolor.title"), View.swfBackgroundColor); + if (newColor != null) { + View.swfBackgroundColor = newColor; + display.setBackground(newColor); + } + } + }); + break; + case ACTION_ZOOMIN: + realZoom *= ZOOM_MULTIPLIER; + updateZoom(); + break; + case ACTION_ZOOMOUT: + realZoom /= ZOOM_MULTIPLIER; + updateZoom(); + break; + case ACTION_ZOOMNONE: + realZoom = 1.0; + updateZoom(); + break; + case ACTION_ZOOMFIT: + display.zoomToFit(); + //updateZoom(); + break; + case ACTION_SNAPSHOT: + putImageToClipBoard(display.printScreen()); + break; + } + } + + + private class TransferableImage implements Transferable { + + Image img; + + public TransferableImage(Image img) { + this.img = img; + } + + public Object getTransferData(DataFlavor flavor) + throws UnsupportedFlavorException, IOException { + if (flavor.equals(DataFlavor.imageFlavor) && img != null) { + return img; + } else { + throw new UnsupportedFlavorException(flavor); + } + } + + @Override + public DataFlavor[] getTransferDataFlavors() { + DataFlavor[] flavors = new DataFlavor[1]; + flavors[ 0] = DataFlavor.imageFlavor; + return flavors; + } + + @Override + public boolean isDataFlavorSupported(DataFlavor flavor) { + DataFlavor[] flavors = getTransferDataFlavors(); + for (int i = 0; i < flavors.length; i++) { + if (flavor.equals(flavors[ i])) { + return true; + } + } + + return false; } } + + private void putImageToClipBoard(BufferedImage img) { + if (img == null) { + return; + } + TransferableImage trans = new TransferableImage(img); + Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard(); + c.setContents(trans, new ClipboardOwner() { + @Override + public void lostOwnership(Clipboard clipboard, Transferable contents) { + } + }); + } }