EdgeHolder.h 957 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #pragma once
  2. #include "edge-segments.h"
  3. namespace msdfgen {
  4. /// Container for a single edge of dynamic type.
  5. class EdgeHolder {
  6. public:
  7. EdgeHolder();
  8. EdgeHolder(EdgeSegment *segment);
  9. EdgeHolder(Point2 p0, Point2 p1, EdgeColor edgeColor = WHITE);
  10. EdgeHolder(Point2 p0, Point2 p1, Point2 p2, EdgeColor edgeColor = WHITE);
  11. EdgeHolder(Point2 p0, Point2 p1, Point2 p2, Point2 p3, EdgeColor edgeColor = WHITE);
  12. EdgeHolder(const EdgeHolder &orig);
  13. #ifdef MSDFGEN_USE_CPP11
  14. EdgeHolder(EdgeHolder &&orig);
  15. #endif
  16. ~EdgeHolder();
  17. EdgeHolder & operator=(const EdgeHolder &orig);
  18. #ifdef MSDFGEN_USE_CPP11
  19. EdgeHolder & operator=(EdgeHolder &&orig);
  20. #endif
  21. EdgeSegment & operator*();
  22. const EdgeSegment & operator*() const;
  23. EdgeSegment * operator->();
  24. const EdgeSegment * operator->() const;
  25. operator EdgeSegment *();
  26. operator const EdgeSegment *() const;
  27. private:
  28. EdgeSegment *edgeSegment;
  29. };
  30. }