]> git.sesse.net Git - casparcg/blob - common/diagnostics/graph.h
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
[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 add_guide(const std::string& name, float value, color c);\r
30         void set_color(const std::string& name, color c);\r
31 private:\r
32         struct implementation;\r
33         std::shared_ptr<implementation> impl_;\r
34 };\r
35 \r
36 safe_ptr<graph> create_graph(const std::string& name);\r
37         \r
38 }}