16 DebugScript(std::istream * in) : m_input(in), currentAction(), m_actions(), m_labels(), m_index(0) {}
17 virtual ~DebugScript() {}
19 bool Execute(View *view, Screen *scr);
30 AT_EnableLazyRendering,
31 AT_DisableLazyRendering,
41 AT_ApproachBoundsZeno,
42 AT_ApproachBoundsLinear,
44 AT_QueryGPUBounds, // query bounds of Beziers when transformed to GPU
45 AT_ScreenShot, // take screenshot
46 AT_PrintFPS, // Print FPS statistics about the frames
47 AT_PrintBounds, // Print bounds
62 Action() : type(AT_WaitFrame), x(0), y(0), ix(0), iy(0), z(0), loops(0), textargs("") {}
65 std::istream * m_input;
68 std::vector<Action> m_actions;
69 std::map<std::string, int> m_labels;
72 double m_fps_cpu_mean;
73 double m_fps_gpu_mean;
74 double m_fps_cpu_stddev;
75 double m_fps_gpu_stddev;
77 struct PerformanceData
80 unsigned object_count;
84 PerformanceData m_perf_start;
85 PerformanceData m_perf_last;
87 void PrintPerformance(View * view, Screen * scr);
88 void ClearPerformance(View * view, Screen * scr);
90 void ParseAction(View * view, Screen * scr);