2 #include "configure.hpp"
3 #include "MyInstructionSet.hpp"
4 #include "mof/Interpreter.hpp"
5 #include "mof/EventScheduler.hpp"
6 #include "mof/mofInput.hpp"
7 #include "mof/mofGraphics.hpp"
8 #include "mof/Application.hpp"
9 #include "mof/utilities.hpp"
10 #include "mof/widgets.hpp"
11 #include <mof/Texture.hpp>
12 #include "mof/Font.hpp"
13 #include "resource.hpp"
14 #include <mof/streams.hpp>
15 #include <mof/FactoryMethod.hpp>
16 #include <boost/bind.hpp>
17 #include <boost/make_shared.hpp>
18 #include "widget/createMenuView.hpp"
19 #include "widget/createFrame.hpp"
20 #include <mof/ConsoleIO.hpp>
21 #include <mof/FactoryMethod.hpp>
23 using namespace mof::widget;
24 using namespace boost;
29 boost::shared_ptr<mof::InputReceiver> m_pInputReceiver;
30 mof::EventScheduler m_scheduler;
42 shared_ptr<Message> pWidget =
45 make_shared<TextCompiler>
47 mof::Font(FONT_NAME_UME, 18)
52 //pWidget->addPage("
\81@");
53 pWidget->addPage("
\83E
\83B
\83\93\83h
\83E
\82Ì
\83A
\83j
\83\81\81[
\83V
\83\87\83\93\82Í
\8aO
\95\94\82©
\82ç
\90Ý
\92è
\82Å
\82«
\82Ü
\82·
\81B<nl />
\82±
\82ê
\82Í
\83L
\83\83\83\89\83N
\83^
\81[
\82Ì
\83Z
\83\8a\83t
\95\
\8e¦
\82ð
\91z
\92è
\82µ
\82½
\83A
\83j
\83\81\81[
\83V
\83\87\83\93");
59 _T("image/frame0.png") ,
60 _T("image/frame3.png") ,
66 mof::KeyFrameAnimation< mof::Vector2D >::KeyFrame keyFrames[] =
68 mof::makeKeyFrame(0, mof::Vector2D(250, 50)),
69 mof::makeKeyFrame(15, mof::Vector2D(0 , 50)),
70 mof::makeKeyFrame(20, mof::Vector2D(0, 0)),
72 m_pView->getView()->getPositionStream()
73 << mof::makeConstantHandler(mof::Vector2D(30, 60))
74 << mof::makeKeyFrameAnimationHandler( keyFrames[0], mof::lastOf( keyFrames ) );
77 mof::Vector2D base = m_pView->getView()->getSizeStream().value();
78 mof::KeyFrameAnimation< mof::Vector2D >::KeyFrame keyFrames[] =
80 mof::makeKeyFrame(0, mof::Vector2D(50, 50) - base ) ,
81 mof::makeKeyFrame(15, mof::Vector2D(550, 50) - base ) ,
82 mof::makeKeyFrame(20, mof::Vector2D(550, 150) - base ) ,
84 m_pView->getView()->getSizeStream() << mof::makeKeyFrameAnimationHandler( keyFrames[0] , mof::lastOf( keyFrames ) );
89 m_pInputReceiver = boost::shared_ptr<mof::InputReceiver>(mof::InputDevice::getInputReceiver());
91 mof::GraphicsDevice::lightEnable(false);
92 mof::GraphicsDevice::setAlphaBlendingMode(mof::GraphicsDevice::BLENDING_MODE_ALPHA);
101 using namespace mof::widget;
103 boost::shared_ptr<WidgetView> contents[] =
105 boost::make_shared<RectangleView>(mof::Vector2D(32, 64), mof::createColor(255, 0, 0)),
106 boost::make_shared<RectangleView>(mof::Vector2D(24, 64), mof::createColor(0, 255, 0)),
107 boost::make_shared<RectangleView>(mof::Vector2D(12, 80), mof::createColor(0, 0, 255)),
110 boost::shared_ptr<mof::widget::Container> container =
111 make_shared<mof::widget::Container>
114 mof::lastOf(contents),
115 mof::makeFactoryMethod<GridLayout>(GridLayout::VERTICAL, 0, 10)
119 //boost::shared_ptr<WidgetView> container =
120 // boost::make_shared<RectangleView>(mof::Vector2D(32, 64), mof::createColor(255, 0, 0));
126 _T("image/frame0.png") ,
127 _T("image/frame3.png") ,
133 mof::KeyFrameAnimation< mof::Vector2D >::KeyFrame keyFrames[] =
135 mof::makeKeyFrame(0, mof::Vector2D(250, 50)),
136 mof::makeKeyFrame(50, mof::Vector2D(0 , 50)),
137 mof::makeKeyFrame(60, mof::Vector2D(0, 0)),
139 m_pView->getView()->getPositionStream()
140 << mof::makeConstantHandler(mof::Vector2D(30, 60))
141 << mof::makeKeyFrameAnimationHandler( keyFrames[0], mof::lastOf( keyFrames ) );
144 mof::Vector2D base = m_pView->getView()->getPreferredSize();
145 mof::KeyFrameAnimation< mof::Vector2D >::KeyFrame keyFrames[] =
147 //mof::makeKeyFrame(0, mof::Vector2D(50, 50) - base ) ,
148 //mof::makeKeyFrame(50, mof::Vector2D(550, 50) - base ) ,
149 //mof::makeKeyFrame(60, mof::Vector2D(550, 150) - base ) ,
150 mof::makeKeyFrame(0, mof::Vector2D(0,0) ) ,
151 mof::makeKeyFrame(30, mof::Vector2D(0,100) ) ,
152 mof::makeKeyFrame(50, mof::Vector2D(0, -200) ) ,
154 m_pView->getView()->getSizeStream()
156 boost::make_shared<mof::Loop<mof::Vector2D>>
158 mof::makeKeyFrameAnimationHandler(keyFrames[0] , mof::lastOf( keyFrames )),
165 m_pInputReceiver = boost::shared_ptr<mof::InputReceiver>(mof::InputDevice::getInputReceiver());
167 mof::GraphicsDevice::lightEnable(false);
168 mof::GraphicsDevice::setAlphaBlendingMode(mof::GraphicsDevice::BLENDING_MODE_ALPHA);
176 mof::safe_delete( m_pView );
183 m_scheduler.update();
184 m_pInputReceiver->update();
191 mof::VertexXYZRHWC vertices[] =
193 mof::VertexXYZRHWC(mof::Vector2D(0 , 0) , mof::createColor(0 , 0 , 127)) ,
194 mof::VertexXYZRHWC(mof::Vector2D(640 , 0) , mof::createColor(0 , 0 , 127)) ,
195 mof::VertexXYZRHWC(mof::Vector2D(0 , 480) , mof::createColor(0 , 0 , 0)) ,
196 mof::VertexXYZRHWC(mof::Vector2D(640 , 480) , mof::createColor(0 , 0 , 0))
198 mof::GraphicsDevice::setTexture(NULL);
199 mof::GraphicsDevice::drawVertexArray(vertices[0] , vertices[3] , mof::PRIMITIVE_TYPE_TRIANGLESTRIP );
201 m_pView->getView()->draw( );