]> git.sesse.net Git - casparcg/blob - common/diagnostics/graph.h
2.0.0.2: Further diagnostics improvements.
[casparcg] / common / diagnostics / graph.h
1 #pragma once\r
2 \r
3 #include "../memory/safe_ptr.h"\r
4 \r
5 #include <string>\r
6 \r
7 namespace caspar { namespace diagnostics {\r
8         \r
9 struct color\r
10 {\r
11         float red;\r
12         float green;\r
13         float blue;\r
14         float alpha;\r
15         \r
16         color(float r = 0.0f, float g = 0.0f, float b = 0.0f, float a = 1.0f)\r
17                 : red(r)\r
18                 , green(g)\r
19                 , blue(b)\r
20                 , alpha(a){}\r
21 };\r
22 \r
23 class graph\r
24 {\r
25         friend safe_ptr<graph> create_graph(const std::string& name);\r
26         graph(const std::string& name);\r
27 public:\r
28         void update(const std::string& name, float value);\r
29         void tag(const std::string& name);\r
30         void guide(const std::string& name, float value);\r
31         void set_color(const std::string& name, color c);\r
32 private:\r
33         struct implementation;\r
34         std::shared_ptr<implementation> impl_;\r
35 };\r
36 \r
37 safe_ptr<graph> create_graph(const std::string& name);\r
38         \r
39 }}