You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
679B

  1. #pragma once
  2. #include "widgets/OpaqueWidget.hpp"
  3. #include "app/common.hpp"
  4. #include "app/MultiLightWidget.hpp"
  5. namespace rack {
  6. struct Port : OpaqueWidget {
  7. Module *module = NULL;
  8. int portId;
  9. enum PortType {
  10. INPUT,
  11. OUTPUT
  12. };
  13. PortType type = INPUT;
  14. MultiLightWidget *plugLight;
  15. Port();
  16. ~Port();
  17. void step() override;
  18. void draw(NVGcontext *vg) override;
  19. void onButton(event::Button &e) override;
  20. void onDragStart(event::DragStart &e) override;
  21. void onDragEnd(event::DragEnd &e) override;
  22. void onDragDrop(event::DragDrop &e) override;
  23. void onDragEnter(event::DragEnter &e) override;
  24. void onDragLeave(event::DragLeave &e) override;
  25. };
  26. } // namespace rack