2 * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Flora License, Version 1.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 * @author Yunchan Cho (yunchan.cho@samsung.com)
25 #include <Plugin/IBoxPluginFactory.h>
26 #include "Buffer/IRenderBuffer.h"
27 #include "View/IRenderView.h"
28 #include "Util/ITimer.h"
30 #include "IBoxState.h"
31 #include "IBoxContext.h"
35 class Box: public IBox, public IBoxContext {
37 static IBoxPtr create(
39 IBoxPluginFactoryPtr factory,
40 EwkContextPtr ewkContext)
42 return IBoxPtr(new Box(boxInfo, factory, ewkContext));
47 bool resize(int width, int height);
50 bool openPd(int width, int height, double x, double y);
53 bool changePeriod(float period);
57 RenderInfoPtr makeRenderInfo(const std::string& renderType) const;
60 void setState(IBoxStatePtr state);
63 static Eina_Bool updateCallback(void* data);
68 IBoxPluginFactoryPtr factory,
69 EwkContextPtr ewkContext);
72 IBoxPluginFactoryPtr m_factory;
73 IRenderBufferPtr m_boxBuffer;
74 IRenderBufferPtr m_pdBuffer;
75 IRenderViewPtr m_view;
76 ITimerPtr m_updateTimer;
77 //IBoxStatePtr m_state;
79 friend class BoxSchemeHandler;