/* * Copyright 2007, Haiku. All rights reserved. * Distributed under the terms of the MIT License. * * Authors: * Stephan Aßmus */ #ifndef ICON_H #define ICON_H #include "Container.h" #include "IconBuild.h" #ifdef ICON_O_MATIC # include # include # include "Observer.h" #else # include #endif class BRect; _BEGIN_ICON_NAMESPACE class Shape; class Style; class VectorPath; #ifdef ICON_O_MATIC class IconListener { public: IconListener(); virtual ~IconListener(); virtual void AreaInvalidated(const BRect& area) = 0; }; #endif #ifdef ICON_O_MATIC class Icon : public ContainerListener, public Observer, public BReferenceable { #else class Icon { #endif public: Icon(); Icon(const Icon& other); virtual ~Icon(); status_t InitCheck() const; const Container