#pragma once

#include <Knopf.h>
#include <Bild.h>

using namespace Framework;
class KEBeschreibung;

class KEBEditor : public Zeichnung
{
private:
    Knopf *beschreibung;
    Knopf *titelBild;
    Knopf *mapBild;
    Knopf *ladenBild;
    BildO *bild;
    TextFeld *text;
    Knopf *speichern;
    Knopf *importieren;
    Knopf *vorschau;
    int jetzt;
    bool sichtbar;
    unsigned char alpha;
    double tickVal;
    int ref;

public:
    // Konstruktor
    KEBEditor( Schrift *zSchrift, KEBeschreibung *zKeb );
    // Destruktor
    ~KEBEditor();
    // nicht constant
    void setSichtbar( bool s );
    void setText( Text *zText );
    void setBild( Bild *zBild );
    bool tick( double tv ) override;
    void doMausEreignis( MausEreignis &me ) override;
    void doTastaturEreignis( TastaturEreignis &te ) override;
    void render( Bild &zRObj ) override;
    // constant
    int getKNum( Knopf *zK ) const;
    Text *zBeschreibung() const;
    int getJetzt() const;
    bool istSichtbar() const;
    // Reference Counting
    KEBEditor *getThis();
    KEBEditor *release();
};