65 lines
1.4 KiB
C
65 lines
1.4 KiB
C
|
/*
|
||
|
* \brief Framebuffer root
|
||
|
* \author Christian Prochaska
|
||
|
* \date 2012-04-02
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
* Copyright (C) 2012-2013 Genode Labs GmbH
|
||
|
*
|
||
|
* This file is part of the Genode OS framework, which is distributed
|
||
|
* under the terms of the GNU General Public License version 2.
|
||
|
*/
|
||
|
|
||
|
|
||
|
#ifndef _FRAMEBUFFER_ROOT_H_
|
||
|
#define _FRAMEBUFFER_ROOT_H_
|
||
|
|
||
|
/* Genode includes */
|
||
|
#include <root/component.h>
|
||
|
|
||
|
#include "framebuffer_session_component.h"
|
||
|
|
||
|
namespace Framebuffer {
|
||
|
|
||
|
/**
|
||
|
* Shortcut for single-client root component
|
||
|
*/
|
||
|
typedef Genode::Root_component<Session_component, Genode::Single_client> Root_component;
|
||
|
|
||
|
|
||
|
class Root : public Root_component
|
||
|
{
|
||
|
private:
|
||
|
|
||
|
QNitpickerViewWidget &_nitpicker_view_widget;
|
||
|
int _max_width;
|
||
|
int _max_height;
|
||
|
|
||
|
protected:
|
||
|
|
||
|
Session_component *_create_session(const char *args)
|
||
|
{
|
||
|
return new (md_alloc())
|
||
|
Session_component(args, _nitpicker_view_widget,
|
||
|
_max_width, _max_height);
|
||
|
}
|
||
|
|
||
|
public:
|
||
|
|
||
|
Root(Genode::Rpc_entrypoint *session_ep,
|
||
|
Genode::Allocator *md_alloc,
|
||
|
QNitpickerViewWidget &nitpicker_view_widget,
|
||
|
int max_width = 0,
|
||
|
int max_height = 0)
|
||
|
: Root_component(session_ep, md_alloc),
|
||
|
_nitpicker_view_widget(nitpicker_view_widget),
|
||
|
_max_width(max_width),
|
||
|
_max_height(max_height) { }
|
||
|
|
||
|
};
|
||
|
|
||
|
}
|
||
|
|
||
|
#endif /* _FRAMEBUFFER_ROOT_H_ */
|