ShapedRecipie.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include <UIMLView.h>
  3. class ShapedRecipieElement : public Framework::UIMLElement
  4. {
  5. public:
  6. ShapedRecipieElement();
  7. //! prüft, ob dieses UIML Element für ein bestimmtes xml Element zuständig
  8. //! ist
  9. bool isApplicableFor(Framework::XML::Element& element) override;
  10. //! erstellt eine neue Zeichnung zu einem gegebenen xml Element
  11. Framework::Zeichnung* parseElement(Framework::XML::Element& element,
  12. Framework::UIMLContainer& generalFactory) override;
  13. bool updateElement(Framework::XML::Element& element,
  14. Framework::Zeichnung& z,
  15. Framework::UIMLContainer& generalFactory) override;
  16. //! wendet die layout parameter zu einer Zeichnung an
  17. void layout(Framework::XML::Element& element,
  18. Framework::Zeichnung& z,
  19. int pWidth,
  20. int pHeight,
  21. Framework::UIMLContainer& generalLayouter) override;
  22. };
  23. class ShapedRecipie : public Framework::ZeichnungHintergrund
  24. {
  25. private:
  26. Framework::RCArray<Zeichnung> ingredients;
  27. Framework::RCArray<Zeichnung> outputs;
  28. int width;
  29. int height;
  30. public:
  31. ShapedRecipie(int width, int height);
  32. void addIngredient(Zeichnung* ingredient);
  33. void addOutput(Zeichnung* output);
  34. bool tick(double tickVal) override;
  35. void render(Framework::Bild& rObj) override;
  36. void doMausEreignis(Framework::MausEreignis& me, bool userRet) override;
  37. };