123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466 |
- #ifndef Zeichnung_H
- #define Zeichnung_H
- #include <functional>
- #include "Critical.h"
- #include "MausEreignis.h"
- #include "Punkt.h"
- #include "ReferenceCounter.h"
- #include "TastaturEreignis.h"
- namespace Framework
- {
- struct MausEreignis;
- struct TastaturEreignis;
- class Bild;
- class Zeichnung;
- class ToolTip;
- class Bildschirm;
- class Rahmen;
- class AlphaFeld;
- class VScrollBar;
- class HScrollBar;
- class Schrift;
-
- class Zeichnung : public virtual ReferenceCounter
- {
- public:
- class Style
- {
- public:
-
-
- static const __int64 Sichtbar = 0x00001;
-
-
- static const __int64 Erlaubt = 0x00002;
-
-
- static const __int64 Fokus = 0x00004;
-
-
- static const __int64 MEIgnoreSichtbar = 0x0800000000000000;
-
-
- static const __int64 MELockZeichnung = 0x1000000000000000;
-
-
- static const __int64 MEIgnoreInside = 0x2000000000000000;
-
-
-
- static const __int64 MEIgnoreVerarbeitet = 0x4000000000000000;
-
-
-
- static const __int64 MEIgnoreParentInside = 0x8000000000000000;
- };
- protected:
- Punkt pos;
- Punkt gr;
- void* makParam;
- void* takParam;
- MausAktion mak;
- TastaturAktion tak;
- void* nmakParam;
- void* ntakParam;
- MausAktion nMak;
- TastaturAktion nTak;
- bool mausIn;
- Critical cs;
- ToolTip* toolTip;
- __int64 style;
- bool rend;
- std::function<bool(Zeichnung*, Punkt localPos)> onNeedToolTip;
- bool toolTipRequested;
-
-
-
- DLLEXPORT virtual void doMausEreignis(MausEreignis& me, bool userRet);
- public:
-
- DLLEXPORT Zeichnung();
-
- DLLEXPORT virtual ~Zeichnung();
-
-
- DLLEXPORT void setRender();
-
-
-
-
-
-
- DLLEXPORT void setToolTipText(
- const char* txt, Bildschirm* zScreen, Schrift* zSchrift);
-
-
- DLLEXPORT void setNeedToolTipEvent(
- std::function<bool(Zeichnung*, Punkt localPos)> onNeedTooltip);
-
-
- DLLEXPORT void setToolTipZ(ToolTip* tt);
-
-
-
-
- DLLEXPORT void lockZeichnung();
-
-
-
-
- DLLEXPORT void unlockZeichnung();
-
-
- DLLEXPORT void setMausEreignisParameter(void* p);
-
-
- DLLEXPORT void setTastaturEreignisParameter(void* p);
-
-
-
-
-
-
- DLLEXPORT void setMausEreignis(MausAktion ak);
-
-
-
-
-
-
- DLLEXPORT void addMausEreignis(MausAktion ak);
-
-
-
-
-
-
-
-
- DLLEXPORT void setTastaturEreignis(TastaturAktion ak);
-
-
-
-
-
-
-
-
- DLLEXPORT void addTastaturEreignis(TastaturAktion ak);
-
-
-
- DLLEXPORT void setNMausEreignisParameter(void* p);
-
-
-
- DLLEXPORT void setNTastaturEreignisParameter(void* p);
-
-
-
-
-
-
-
-
- DLLEXPORT void setNMausEreignis(MausAktion ak);
-
-
-
-
-
-
-
-
-
- DLLEXPORT void setNTastaturEreignis(TastaturAktion ak);
-
-
- DLLEXPORT virtual void doPublicMausEreignis(MausEreignis& me);
-
-
- DLLEXPORT virtual void doTastaturEreignis(TastaturEreignis& te);
-
-
- DLLEXPORT virtual bool tick(double tickval);
-
-
- DLLEXPORT void setPosition(const Punkt& pos);
-
-
- DLLEXPORT void setX(int xPos);
-
-
- DLLEXPORT void setY(int yPos);
-
-
- DLLEXPORT void setSize(const Punkt& gr);
-
-
-
- DLLEXPORT void setPosition(int x, int y);
-
-
-
- DLLEXPORT void setSize(int br, int height);
-
-
- DLLEXPORT void setWidth(int width);
-
-
- DLLEXPORT void setHeight(int height);
-
-
-
- DLLEXPORT void setStyle(__int64 style);
-
-
-
-
- DLLEXPORT void setStyle(__int64 style, bool add_remove);
-
-
- DLLEXPORT void addStyle(__int64 style);
-
-
- DLLEXPORT void removeStyle(__int64 style);
-
-
- DLLEXPORT virtual void render(Bild& zRObj);
-
-
- DLLEXPORT bool hatMausEreignis() const;
-
-
- DLLEXPORT bool hatTastaturEreignis() const;
-
- DLLEXPORT const Punkt& getPosition() const;
-
-
- DLLEXPORT const Punkt& getSize() const;
-
- DLLEXPORT int getBreite() const;
-
- DLLEXPORT int getHeight() const;
-
- DLLEXPORT virtual int getInnenBreite() const;
-
- DLLEXPORT virtual int getInnenHeight() const;
-
- DLLEXPORT int getX() const;
-
- DLLEXPORT int getY() const;
-
-
-
- DLLEXPORT virtual bool istPunktInnen(Punkt p) const;
-
-
-
-
- DLLEXPORT virtual bool istPunktInnen(int x, int y) const;
-
-
- DLLEXPORT ToolTip* getToolTip() const;
-
-
- DLLEXPORT ToolTip* zToolTip() const;
-
-
-
- DLLEXPORT bool hatStyle(__int64 style) const;
-
-
-
- DLLEXPORT bool hatStyleNicht(__int64 style) const;
-
- DLLEXPORT __int64 getStyles() const;
-
-
- DLLEXPORT virtual Zeichnung* dublizieren() const;
- };
-
-
- class ZeichnungHintergrund : public Zeichnung
- {
- public:
- class Style : public Zeichnung::Style
- {
- public:
-
- static const __int64 Rahmen = 0x00010;
-
-
- static const __int64 Hintergrund = 0x00020;
-
-
- static const __int64 HAlpha = 0x00040;
-
-
- static const __int64 HBild = 0x00080;
-
-
- static const __int64 Buffered = 0x00100;
-
-
- static const __int64 VScroll = 0x00200;
-
-
- static const __int64 HScroll = 0x00400;
-
- static const __int64 HBildScale = 0x00800;
- };
- protected:
- int hintergrundFarbe;
- Rahmen* rahmen;
- Bild* hintergrundBild;
- AlphaFeld* hintergrundFeld;
- VScrollBar* vertikalScrollBar;
- HScrollBar* horizontalScrollBar;
- Punkt innenPosition;
- Punkt innenSize;
- protected:
-
-
- DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
- public:
-
- DLLEXPORT ZeichnungHintergrund();
-
- DLLEXPORT virtual ~ZeichnungHintergrund();
-
-
-
- DLLEXPORT void setHintergrundBild(Bild* bild);
-
-
-
- DLLEXPORT void setHintergrundBildZ(Bild* bild);
-
-
-
- DLLEXPORT void setHintergrundFarbe(int fc);
-
-
-
- DLLEXPORT void setAlphaFeldZ(AlphaFeld* buff);
-
-
-
- DLLEXPORT void setAlphaFeldStrength(int st);
-
-
-
- DLLEXPORT void setAlphaFeldFarbe(int fc);
-
-
-
- DLLEXPORT void setRahmenZ(Rahmen* ram);
-
-
- DLLEXPORT void setRahmenBreite(int br);
-
-
- DLLEXPORT void setRahmenFarbe(int fc);
-
-
-
- DLLEXPORT void setVertikalKlickScroll(int ks);
-
-
-
- DLLEXPORT void setVertikalScrollPos(int pos);
-
-
-
-
- DLLEXPORT void setVertikalScrollFarbe(int f, int bgF);
-
-
-
- DLLEXPORT void setHorizontalKlickScroll(int ks);
-
-
-
- DLLEXPORT void setHorizontalScrollPos(int pos);
-
-
-
-
- DLLEXPORT void setHorizontalScrollFarbe(int f, int bgF);
-
-
-
-
- DLLEXPORT bool tick(double tickVal) override;
-
- DLLEXPORT void render(Bild& rObj) override;
-
- DLLEXPORT virtual int getInnenBreite() const override;
-
- DLLEXPORT virtual int getInnenHeight() const override;
-
-
- DLLEXPORT Bild* getHintergrundBild() const;
-
-
- DLLEXPORT Bild* zHintergrundBild() const;
-
- DLLEXPORT int getHintergrundFarbe() const;
-
-
- DLLEXPORT AlphaFeld* getAlphaFeld() const;
-
-
-
- DLLEXPORT AlphaFeld* zAlphaFeld() const;
-
- DLLEXPORT int getAlphaFeldStrength() const;
-
- DLLEXPORT int getAlphaFeldFarbe() const;
-
-
- DLLEXPORT Rahmen* getRahmen() const;
-
-
- DLLEXPORT Rahmen* zRahmen() const;
-
- DLLEXPORT int getRahmenBreite() const;
-
- DLLEXPORT int getRahmenFarbe() const;
-
- DLLEXPORT int getVertikalKlickScroll() const;
-
- DLLEXPORT int getVertikalScrollPos() const;
-
- DLLEXPORT int getVertikalScrollFarbe() const;
-
-
- DLLEXPORT int getVertikalScrollHintergrund() const;
-
- DLLEXPORT int getHorizontalKlickScroll() const;
-
- DLLEXPORT int getHorizontalScrollPos() const;
-
- DLLEXPORT int getHorizontalScrollFarbe() const;
-
-
- DLLEXPORT int getHorizontalScrollHintergrund() const;
-
-
- DLLEXPORT virtual Zeichnung* dublizieren() const;
- };
- }
- #endif
|