About to break everything with a merge
[ipdf/code.git] / src / debugscript.h
index 9e85b51..916425c 100644 (file)
@@ -13,12 +13,9 @@ namespace IPDF
 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
@@ -46,29 +43,36 @@ private:
                AT_SetBounds,
                AT_QueryGPUBounds, // query bounds of Beziers when transformed to GPU
                AT_ScreenShot, // take screenshot
+               AT_PrintSPF, // Print FPS statistics about the frames
+               AT_PrintBounds, // Print bounds
                AT_Quit
        };
 
        struct Action
        {
                ActionType type;
-               Real x, y;
+               VReal x, y;
                int ix, iy;
-               Real z;
+               VReal z;
                int iz;
                int loops;
-               Real w, h;
+               VReal 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_spf_cpu_mean;
+       double m_spf_gpu_mean;
+       double m_spf_cpu_stddev;
+       double m_spf_gpu_stddev;
+       
        struct PerformanceData
        {
                clock_t clock;

UCC git Repository :: git.ucc.asn.au