2 * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Flora License, Version 1.1 (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);
49 bool pause(bool background);
50 bool openPd(int width, int height, double x, double y);
53 bool changePeriod(float period);
58 RenderInfoPtr makeRenderInfo(const std::string& renderType) const;
61 void setState(IBoxStatePtr state);
64 static Eina_Bool updateCallback(void* data);
69 IBoxPluginFactoryPtr factory,
70 EwkContextPtr ewkContext);
73 IBoxPluginFactoryPtr m_factory;
74 IRenderBufferPtr m_boxBuffer;
75 IRenderBufferPtr m_pdBuffer;
76 IRenderViewPtr m_view;
77 ITimerPtr m_updateTimer;
79 //IBoxStatePtr m_state;
81 friend class BoxSchemeHandler;