@@ -72,13 +72,14 @@ EVT_SIZE(AnimationFrame::OnSize)
7272END_EVENT_TABLE()
7373
7474
75- AnimationFrame::AnimationFrame(std::function<void ()> onClose, wxDocument *doc, wxView *view, wxFrame *parent, const wxSize& size) :
75+ AnimationFrame::AnimationFrame(std::function<void ()> onClose, wxDocument *doc, CalChartConfiguration& config_, wxView *view, wxFrame *parent, const wxSize& size) :
7676#if defined(BUILD_FOR_VIEWER) && (BUILD_FOR_VIEWER != 0)
7777wxDocChildFrame (doc, view, parent, wxID_ANY, wxT(" CalChart Viewer" ), wxDefaultPosition, size),
7878#else
7979wxFrame (parent, wxID_ANY, wxT(" CalChart Viewer" ), wxDefaultPosition, size),
8080#endif
8181mAnimationView (),
82+ config(config_),
8283mCanvas(NULL ),
8384mOmniViewCanvas(NULL ),
8485mTimer(new wxTimer(this , CALCHART__anim_next_beat_timer)),
@@ -131,19 +132,19 @@ mWhenClosed(onClose)
131132 mSplitter ->SetWindowStyleFlag (mSplitter ->GetWindowStyleFlag () | wxSP_LIVE_UPDATE);
132133 mSplitter ->SetMinSize (wxSize (300 , 400 ));
133134
134- mOmniViewCanvas = new CCOmniView_Canvas (&mAnimationView , mSplitter );
135+ mOmniViewCanvas = new CCOmniView_Canvas (&mAnimationView , mSplitter , config );
135136 mCanvas = new AnimationCanvas (&mAnimationView , mSplitter );
136137
137138 mSplitA = mOmniViewCanvas ;
138139 mSplitB = mCanvas ;
139- if (!GetConfiguration_AnimationFrameOmniAnimation ())
140+ if (!config. Get_AnimationFrameOmniAnimation ())
140141 {
141142 std::swap (mSplitA , mSplitB );
142143 }
143144 mSplitter ->Initialize (mSplitA );
144- if (GetConfiguration_AnimationFrameSplitScreen ())
145+ if (config. Get_AnimationFrameSplitScreen ())
145146 {
146- if (GetConfiguration_AnimationFrameSplitVertical ())
147+ if (config. Get_AnimationFrameSplitVertical ())
147148 {
148149 mSplitter ->SplitVertically (mSplitA , mSplitB );
149150 }
@@ -152,7 +153,7 @@ mWhenClosed(onClose)
152153 mSplitter ->SplitHorizontally (mSplitA , mSplitB );
153154 }
154155 }
155- mSplitter ->SetSashPosition (GetConfiguration_AnimationFrameSashPosition ());
156+ mSplitter ->SetSashPosition (config. Get_AnimationFrameSashPosition ());
156157
157158
158159 AddCoolToolBar (GetAnimationToolBar (), *this );
@@ -251,8 +252,8 @@ AnimationFrame::OnSize(wxSizeEvent& event)
251252 // HACK: Prevent width and height from growing out of control
252253 int w = event.GetSize ().GetWidth ();
253254 int h = event.GetSize ().GetHeight ();
254- SetConfiguration_AnimationFrameWidth ((w > 1200 ) ? 1200 : w);
255- SetConfiguration_AnimationFrameHeight ((h > 700 ) ? 700 : h);
255+ config. Set_AnimationFrameWidth ((w > 1200 ) ? 1200 : w);
256+ config. Set_AnimationFrameHeight ((h > 700 ) ? 700 : h);
256257 super::OnSize (event);
257258}
258259
@@ -278,7 +279,7 @@ AnimationFrame::OnCmdClose(wxCloseEvent& event)
278279{
279280 if (mSplitter )
280281 {
281- SetConfiguration_AnimationFrameSashPosition (mSplitter ->GetSashPosition ());
282+ config. Set_AnimationFrameSashPosition (mSplitter ->GetSashPosition ());
282283 }
283284 // we should inform the parent frame we are closing
284285 if (mWhenClosed )
@@ -620,8 +621,8 @@ AnimationFrame::OnCmd_SplitViewHorizontal(wxCommandEvent& event)
620621 mSplitA ->Show (true );
621622 mSplitB ->Show (true );
622623 mSplitter ->SplitHorizontally (mSplitA , mSplitB );
623- SetConfiguration_AnimationFrameSplitScreen (true );
624- SetConfiguration_AnimationFrameSplitVertical (false );
624+ config. Set_AnimationFrameSplitScreen (true );
625+ config. Set_AnimationFrameSplitVertical (false );
625626}
626627
627628void
@@ -634,8 +635,8 @@ AnimationFrame::OnCmd_SplitViewVertical(wxCommandEvent& event)
634635 mSplitA ->Show (true );
635636 mSplitB ->Show (true );
636637 mSplitter ->SplitVertically (mSplitA , mSplitB );
637- SetConfiguration_AnimationFrameSplitScreen (true );
638- SetConfiguration_AnimationFrameSplitVertical (true );
638+ config. Set_AnimationFrameSplitScreen (true );
639+ config. Set_AnimationFrameSplitVertical (true );
639640}
640641
641642void
@@ -645,7 +646,7 @@ AnimationFrame::OnCmd_SplitViewUnsplit(wxCommandEvent& event)
645646 {
646647 mSplitter ->Unsplit ();
647648 }
648- SetConfiguration_AnimationFrameSplitScreen (false );
649+ config. Set_AnimationFrameSplitScreen (false );
649650}
650651
651652void
@@ -658,7 +659,7 @@ AnimationFrame::OnCmd_SwapAnimateAndOmni(wxCommandEvent& event)
658659 mSplitter ->Unsplit ();
659660 }
660661 std::swap (mSplitA , mSplitB );
661- SetConfiguration_AnimationFrameOmniAnimation (! GetConfiguration_AnimationFrameOmniAnimation ());
662+ config. Set_AnimationFrameOmniAnimation (!config. Get_AnimationFrameOmniAnimation ());
662663 if (mode == wxSPLIT_HORIZONTAL)
663664 {
664665 mSplitter ->SplitHorizontally (mSplitA , mSplitB );
0 commit comments