class DebugScript
{
public:
- DebugScript() : inp(), currentAction(), m_actions(), m_labels(), m_index(0) {}
+ DebugScript(std::istream * in) : m_input(in), currentAction(), m_actions(), m_labels(), m_index(0) {}
virtual ~DebugScript() {}
- void Load(const char *filename)
- {
- inp.open(filename);
- }
+
bool Execute(View *view, Screen *scr);
private:
enum ActionType
AT_ClearPerformance,
AT_PrintPerformance,
AT_RecordPerformance,
+ AT_DebugFont,
+ AT_ApproachBoundsZeno,
+ AT_ApproachBoundsLinear,
+ AT_SetBounds,
+ AT_QueryGPUBounds, // query bounds of Beziers when transformed to GPU
+ AT_ScreenShot, // take screenshot
+ AT_PrintFPS, // Print FPS statistics about the frames
+ AT_PrintBounds, // Print bounds
+ AT_ProfileDisplay,
AT_Quit
};
Real z;
int iz;
int loops;
+ Real w, h;
std::string textargs;
Action() : type(AT_WaitFrame), x(0), y(0), ix(0), iy(0), z(0), loops(0), textargs("") {}
};
- std::ifstream inp;
+ std::istream * m_input;
Action currentAction;
std::vector<Action> m_actions;
std::map<std::string, int> m_labels;
unsigned m_index;
+ double m_fps_cpu_mean;
+ double m_fps_gpu_mean;
+ double m_fps_cpu_stddev;
+ double m_fps_gpu_stddev;
+
struct PerformanceData
{
clock_t clock;
unsigned object_count;
- Rect view_bounds;
+ VRect view_bounds;
};
PerformanceData m_perf_start;
void PrintPerformance(View * view, Screen * scr);
void ClearPerformance(View * view, Screen * scr);
- void ParseAction();
+ void ParseAction(View * view, Screen * scr);
};
}