X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=core%2Fframe%2Fgeometry.h;h=326c191491a836836b99d433ab1cded660dbaa3f;hb=c0eb56796b07e6f3c2480b8284e06152a4ed24d9;hp=ceb3a9b7ad39ce99ffddba7af1db452e635ba19b;hpb=6364b9b8329257ac31939ad88c30cfb70a67192b;p=casparcg diff --git a/core/frame/geometry.h b/core/frame/geometry.h index ceb3a9b7a..326c19149 100644 --- a/core/frame/geometry.h +++ b/core/frame/geometry.h @@ -22,6 +22,7 @@ #pragma once #include + #include namespace caspar { namespace core { @@ -29,21 +30,32 @@ namespace caspar { namespace core { class frame_geometry { public: - enum geometry_type + enum class geometry_type { - none, quad, quad_list }; - frame_geometry(); - frame_geometry(const frame_geometry&); - frame_geometry(geometry_type, std::vector); - const frame_geometry& operator=(const frame_geometry&); + struct coord + { + double vertex_x = 0.0; + double vertex_y = 0.0; + double texture_x = 0.0; + double texture_y = 0.0; + double texture_r = 0.0; + double texture_q = 1.0; + + coord() = default; + coord(double vertex_x, double vertex_y, double texture_x, double texture_y); + + bool operator==(const coord& other) const; + }; + + frame_geometry(geometry_type type, std::vector data); + + geometry_type type() const ; + const std::vector& data() const; - geometry_type type(); - const std::vector& data(); - static const frame_geometry& get_default(); private: