// vi:ft=cpp
/*
 * (c) 2010 Alexander Warg <warg@os.inf.tu-dresden.de>
 *     economic rights: Technische Universität Dresden (Germany)
 *
 * This file is part of TUD:OS and distributed under the terms of the
 * GNU General Public License 2.
 * Please see the COPYING-GPL-2 file for details.
 */

#pragma once

#include <l4/mag-gfx/factory>
#include <l4/mag-gfx/geometry>

namespace Scout_gfx {

using Mag_gfx::Area;

class Icon;
class Widget;
class Sky_texture;

class Factory : public virtual Mag_gfx::Factory
{
public:
  virtual Icon *create_icon(void const *rgba = 0,
                            Area const &size = Area(0,0), bool fade = true) = 0;
  virtual Widget *create_shadow(int height = 8, int intensity = 160) = 0;
  virtual Sky_texture *create_sky() = 0;

};

}
