Skip to content

Commit

Permalink
add reverse frames when exported to png
Browse files Browse the repository at this point in the history
  • Loading branch information
jxmp committed Aug 28, 2015
1 parent a8818d0 commit 6c2f46c
Show file tree
Hide file tree
Showing 9 changed files with 46 additions and 24 deletions.
4 changes: 2 additions & 2 deletions About.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@ About::About(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& siz
Panel1 = new wxPanel(this, ID_PANEL1, wxPoint(0,0), wxSize(400,200), wxTAB_TRAVERSAL, _T("ID_PANEL1"));
Panel1->SetBackgroundColour(wxColour(202,209,247));
StaticBitmap1 = new wxStaticBitmap(Panel1, ID_STATICBITMAP1, showbitmap, wxPoint(250,50), wxSize(96,96), wxNO_BORDER, _T("ID_STATICBITMAP1"));
StaticText2 = new wxStaticText(Panel1, ID_STATICTEXT2, _T("MPC ASF 编辑器 V1.7.3"), wxPoint(130,24), wxDefaultSize, 0, _T("ID_STATICTEXT2"));
StaticText2 = new wxStaticText(Panel1, ID_STATICTEXT2, _T("MPC ASF 编辑器 V1.7.4"), wxPoint(130,24), wxDefaultSize, 0, _T("ID_STATICTEXT2"));
StaticText1 = new wxStaticText(Panel1, ID_STATICTEXT1, _T("GUI Framework:"), wxPoint(55,60), wxDefaultSize, 0, _T("ID_STATICTEXT1"));
StaticText3 = new wxStaticText(Panel1, ID_STATICTEXT3, _T("图片解码库:"), wxPoint(55,85), wxDefaultSize, 0, _T("ID_STATICTEXT3"));
StaticText4 = new wxStaticText(Panel1, ID_STATICTEXT4, _T("程序:"), wxPoint(55,110), wxDefaultSize, 0, _T("ID_STATICTEXT4"));
StaticText5 = new wxStaticText(Panel1, ID_STATICTEXT5, _T("感谢:"), wxPoint(55,135), wxDefaultSize, 0, _T("ID_STATICTEXT5"));
Button_OK = new wxButton(Panel1, ID_BUTTON1, _T("不忍直视"), wxPoint(265,165), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1"));
StaticText6 = new wxStaticText(Panel1, ID_STATICTEXT6, _T("2015.05.24"), wxPoint(136,160), wxDefaultSize, 0, _T("ID_STATICTEXT6"));
StaticText6 = new wxStaticText(Panel1, ID_STATICTEXT6, _T("2015.08.28"), wxPoint(136,160), wxDefaultSize, 0, _T("ID_STATICTEXT6"));
HyperlinkCtrl_MyWebPage = new wxHyperlinkCtrl(Panel1, ID_HYPERLINKCTRL1, _T("小试刀剑"), _T("http://hi.baidu.com/qndryqnqbmbbceq"), wxPoint(100,109), wxDefaultSize, wxHL_CONTEXTMENU|wxHL_ALIGN_CENTRE|wxNO_BORDER, _T("ID_HYPERLINKCTRL1"));
HyperlinkCtrl1 = new wxHyperlinkCtrl(Panel1, ID_HYPERLINKCTRL2, _T("Upwinded"), _T("http://tieba.baidu.com/p/2279039886"), wxPoint(100,134), wxDefaultSize, wxHL_CONTEXTMENU|wxHL_ALIGN_CENTRE|wxNO_BORDER, _T("ID_HYPERLINKCTRL2"));
HyperlinkCtrl2 = new wxHyperlinkCtrl(Panel1, ID_HYPERLINKCTRL3, _T("FreeImage"), _T("http://sourceforge.net/projects/freeimage/"), wxPoint(138,84), wxDefaultSize, wxHL_CONTEXTMENU|wxHL_ALIGN_CENTRE|wxNO_BORDER, _T("ID_HYPERLINKCTRL3"));
Expand Down
9 changes: 6 additions & 3 deletions ExportToImg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
const long ExportToImg::ID_BUTTON1 = wxNewId();
const long ExportToImg::ID_BUTTON2 = wxNewId();
const long ExportToImg::ID_TEXTCTRL1 = wxNewId();
const long ExportToImg::ID_CHECKBOX1 = wxNewId();
const long ExportToImg::ID_PANEL1 = wxNewId();
//*)

Expand All @@ -22,13 +23,15 @@ ExportToImg::ExportToImg(wxWindow* parent,wxWindowID id,const wxPoint& pos,const
{
//(*Initialize(ExportToImg)
Create(parent, wxID_ANY, _T("请输入"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("wxID_ANY"));
SetClientSize(wxSize(275,110));
SetClientSize(wxSize(278,125));
Panel1 = new wxPanel(this, ID_PANEL1, wxPoint(-8,-8), wxSize(336,152), wxTAB_TRAVERSAL, _T("ID_PANEL1"));
StaticText1 = new wxStaticText(Panel1, ID_STATICTEXT1, _T("文件名前缀:"), wxPoint(32,35), wxDefaultSize, 0, _T("ID_STATICTEXT1"));
Button1 = new wxButton(Panel1, ID_BUTTON1, _T("确定"), wxPoint(56,80), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1"));
Button2 = new wxButton(Panel1, ID_BUTTON2, _T("取消"), wxPoint(152,80), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON2"));
Button1 = new wxButton(Panel1, ID_BUTTON1, _T("确定"), wxPoint(56,90), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1"));
Button2 = new wxButton(Panel1, ID_BUTTON2, _T("取消"), wxPoint(152,90), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON2"));
TextCtrl_FilePrefix = new wxTextCtrl(Panel1, ID_TEXTCTRL1, wxEmptyString, wxPoint(114,31), wxSize(152,21), 0, wxDefaultValidator, _T("ID_TEXTCTRL1"));
TextCtrl_FilePrefix->SetToolTip(_T("不要包含 \\ / : * \? \" < > | "));
m_cbReverse = new wxCheckBox(Panel1, ID_CHECKBOX1, _T("帧倒序"), wxPoint(32,64), wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX1"));
m_cbReverse->SetValue(false);

Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ExportToImg::OnButton1Click);
Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ExportToImg::OnButton2Click);
Expand Down
6 changes: 5 additions & 1 deletion ExportToImg.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
//(*Headers(ExportToImg)
#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/checkbox.h>
#include <wx/panel.h>
#include <wx/button.h>
#include <wx/dialog.h>
Expand All @@ -22,6 +23,7 @@ class ExportToImg: public wxDialog
wxButton* Button1;
wxPanel* Panel1;
wxStaticText* StaticText1;
wxCheckBox* m_cbReverse;
wxButton* Button2;
wxTextCtrl* TextCtrl_FilePrefix;
//*)
Expand All @@ -33,6 +35,7 @@ class ExportToImg: public wxDialog
static const long ID_BUTTON1;
static const long ID_BUTTON2;
static const long ID_TEXTCTRL1;
static const long ID_CHECKBOX1;
static const long ID_PANEL1;
//*)

Expand All @@ -47,7 +50,8 @@ class ExportToImg: public wxDialog
void SetNamePrix(const wxString namepre)
{
TextCtrl_FilePrefix->SetValue(namepre);
}
}
bool IsReverse(){return m_cbReverse->IsChecked();}

DECLARE_EVENT_TABLE()
};
Expand Down
2 changes: 1 addition & 1 deletion MpcAsfTool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -797,7 +797,7 @@ void MpcAsfTool::OnExportToPng(wxCommandEvent &event)
pngpath += wxFileName::GetPathSeparator();
pngpath += predlg.GetNamePrefix();

if(!manager.SaveToPng(pngpath))
if(!manager.SaveToPng(pngpath, predlg.IsReverse()))
{
wxMessageBox(wxT("存储失败"), wxT("错误"), wxOK|wxICON_ERROR);
return;
Expand Down
17 changes: 9 additions & 8 deletions MpcAsfTool.depend
Original file line number Diff line number Diff line change
Expand Up @@ -9508,7 +9508,7 @@

1300793815 d:\protools\wxwidgets\wxwidgets-2.8\lib\gcc_lib\mswu\wx\setup.h

1432462394 source:e:\programmingworkshop\_store_\jxqy\mpcasftool\about.cpp
1440721956 source:e:\programmingworkshop\_store_\jxqy\mpcasftool\about.cpp
"About.h"
"ICO/about.hpp"
<wx/bitmap.h>
Expand Down Expand Up @@ -9555,7 +9555,7 @@
1362620473 e:\programmingworkshop\_store_\jxqy\mpcasftool\app.h
<wx/app.h>

1423020965 e:\programmingworkshop\_store_\jxqy\mpcasftool\mpcasftool.h
1440679734 e:\programmingworkshop\_store_\jxqy\mpcasftool\mpcasftool.h
<wx/scrolwin.h>
<wx/sizer.h>
<wx/stattext.h>
Expand All @@ -9577,7 +9577,7 @@
"AdjustPositionDialog.h"
"wxFormBuilder/FileExplorerPanelBase.h"

1432439725 e:\programmingworkshop\_store_\jxqy\mpcasftool\workmanager.hpp
1440721542 e:\programmingworkshop\_store_\jxqy\mpcasftool\workmanager.hpp
"wx/image.h"
"MAPICDATA.hpp"
"MpcDecode.hpp"
Expand Down Expand Up @@ -9671,13 +9671,14 @@
<wx/button.h>
<wx/dialog.h>

1415874801 source:e:\programmingworkshop\_store_\jxqy\mpcasftool\exporttoimg.cpp
1440721313 source:e:\programmingworkshop\_store_\jxqy\mpcasftool\exporttoimg.cpp
"ExportToImg.h"
"wx/msgdlg.h"

1384158166 e:\programmingworkshop\_store_\jxqy\mpcasftool\exporttoimg.h
1440721434 e:\programmingworkshop\_store_\jxqy\mpcasftool\exporttoimg.h
<wx/stattext.h>
<wx/textctrl.h>
<wx/checkbox.h>
<wx/panel.h>
<wx/button.h>
<wx/dialog.h>
Expand All @@ -9698,15 +9699,15 @@
"FreeImage.h"
"wx/string.h"

1432462351 source:e:\programmingworkshop\_store_\jxqy\mpcasftool\mapicdata.cpp
1432463598 source:e:\programmingworkshop\_store_\jxqy\mpcasftool\mapicdata.cpp
<fstream>
"MAPICDATA.hpp"
"wx/msgdlg.h"
"wx/log.h"
"wx/filename.h"
<cstdlib>

1432455241 source:e:\programmingworkshop\_store_\jxqy\mpcasftool\mpcasftool.cpp
1440721727 source:e:\programmingworkshop\_store_\jxqy\mpcasftool\mpcasftool.cpp
"MpcAsfTool.h"
"DlgAddFrames.h"
"wx/filedlg.h"
Expand Down Expand Up @@ -9758,7 +9759,7 @@
<cstring>
<fstream>

1432454759 source:e:\programmingworkshop\_store_\jxqy\mpcasftool\workmanager.cpp
1440721840 source:e:\programmingworkshop\_store_\jxqy\mpcasftool\workmanager.cpp
"WorkManager.hpp"
"GifData.hpp"
"wx/filename.h"
Expand Down
16 changes: 13 additions & 3 deletions WorkManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -956,7 +956,7 @@ bool WorkManager::SaveToGif(const wxString outpath)
if(!GifData::FilePaletteLoctoGlb(outpath, interval)) return false;
return true;
}
bool WorkManager::SaveToPng(const wxString outpath)
bool WorkManager::SaveToPng(const wxString outpath, bool reverseFrames)
{
MAPICDATA proc(GetGlobalWidth(), GetGlobalHeight());
MAPICDATA shdproc(GetGlobalWidth(), GetGlobalHeight()), tempshd;
Expand All @@ -966,8 +966,13 @@ bool WorkManager::SaveToPng(const wxString outpath)

if(!makeshadow)
{
for(unsigned long frmi = 0; frmi < framecounts; frmi++)
for(unsigned long frmidx = 0; frmidx < framecounts; frmidx++)
{
int frmi = frmidx;
if(reverseFrames)
{
frmi = (framecounts - 1) - frmidx;
}
tempfrmdata = GetUndeletedGlobalizedFrameData(frmi);
if(tempfrmdata == NULL) return false;

Expand Down Expand Up @@ -1003,8 +1008,13 @@ bool WorkManager::SaveToPng(const wxString outpath)
}
else
{
for(unsigned long frmi = 0; frmi < framecounts; frmi++)
for(unsigned long frmidx = 0; frmidx < framecounts; frmidx++)
{
int frmi = frmidx;
if(reverseFrames)
{
frmi = (framecounts - 1) - frmidx;
}
tempfrmdata = GetUndeletedGlobalizedFrameData(frmi);
if(tempfrmdata == NULL) return false;

Expand Down
2 changes: 1 addition & 1 deletion WorkManager.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ class WorkManager
bool SaveToMpc(const wxString outpath, int decodeType);
bool SaveToAsf(const wxString outpath);
bool SaveToGif(const wxString outpath);
bool SaveToPng(const wxString outpath);
bool SaveToPng(const wxString outpath, bool reverseFrames = false);

protected:
private:
Expand Down
4 changes: 2 additions & 2 deletions wxsmith/About.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<style>wxNO_BORDER</style>
</object>
<object class="wxStaticText" name="ID_STATICTEXT2" variable="StaticText2" member="yes">
<label>MPC ASF 编辑器 V1.7.3</label>
<label>MPC ASF 编辑器 V1.7.4</label>
<pos>130,24</pos>
</object>
<object class="wxStaticText" name="ID_STATICTEXT1" variable="StaticText1" member="yes">
Expand All @@ -40,7 +40,7 @@
<handler function="OnButton_OKClick" entry="EVT_BUTTON" />
</object>
<object class="wxStaticText" name="ID_STATICTEXT6" variable="StaticText6" member="yes">
<label>2015.05.24</label>
<label>2015.08.28</label>
<pos>136,160</pos>
</object>
<object class="wxHyperlinkCtrl" name="ID_HYPERLINKCTRL1" variable="HyperlinkCtrl_MyWebPage" member="yes">
Expand Down
10 changes: 7 additions & 3 deletions wxsmith/ExportToImg.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<wxsmith>
<object class="wxDialog" name="ExportToImg">
<title>请输入</title>
<size>275,110</size>
<size>278,125</size>
<id_arg>0</id_arg>
<object class="wxPanel" name="ID_PANEL1" variable="Panel1" member="yes">
<pos>-8,-8</pos>
Expand All @@ -13,19 +13,23 @@
</object>
<object class="wxButton" name="ID_BUTTON1" variable="Button1" member="yes">
<label>确定</label>
<pos>56,80</pos>
<pos>56,90</pos>
<handler function="OnButton1Click" entry="EVT_BUTTON" />
</object>
<object class="wxButton" name="ID_BUTTON2" variable="Button2" member="yes">
<label>取消</label>
<pos>152,80</pos>
<pos>152,90</pos>
<handler function="OnButton2Click" entry="EVT_BUTTON" />
</object>
<object class="wxTextCtrl" name="ID_TEXTCTRL1" variable="TextCtrl_FilePrefix" member="yes">
<pos>114,31</pos>
<size>152,21</size>
<tooltip>不要包含 \\ / : * ? &quot; &lt; &gt; | </tooltip>
</object>
<object class="wxCheckBox" name="ID_CHECKBOX1" variable="m_cbReverse" member="yes">
<label>帧倒序</label>
<pos>32,64</pos>
</object>
</object>
</object>
</wxsmith>

0 comments on commit 6c2f46c

Please sign in to comment.