summaryrefslogtreecommitdiff
path: root/libtemplate/templateloopfunction.h
diff options
context:
space:
mode:
Diffstat (limited to 'libtemplate/templateloopfunction.h')
-rw-r--r--libtemplate/templateloopfunction.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/libtemplate/templateloopfunction.h b/libtemplate/templateloopfunction.h
new file mode 100644
index 0000000..5335279
--- /dev/null
+++ b/libtemplate/templateloopfunction.h
@@ -0,0 +1,33 @@
+#ifndef __TEMPLATELOOPFUNCTION_H
+#define __TEMPLATELOOPFUNCTION_H
+
+#include "templatefunction.h"
+
+using namespace std;
+
+// --- cTemplateLoopFunction -------------------------------------------------------------
+
+class cTemplateLoopFunction : public cTemplateFunction {
+private:
+ vector<cTemplateFunction*> functions;
+ vector<cTemplateFunction*>::iterator funcIt;
+ void ReplaceWidthFunctions(void);
+ void ReplaceHeightFunctions(void);
+public:
+ cTemplateLoopFunction(void);
+ virtual ~cTemplateLoopFunction(void);
+ void AddFunction(string name, vector<pair<string, string> > &params);
+ void CalculateLoopFuncParameters(void);
+ void InitIterator(void);
+ cTemplateFunction *GetNextFunction(void);
+ void ClearDynamicParameters(void);
+ void ParseDynamicParameters(map <string,string> *tokens);
+ int GetLoopElementsWidth(void);
+ int GetLoopElementsHeight(void);
+ int GetContainerWidth(void) { return containerWidth; };
+ int GetContainerHeight(void) { return containerHeight; };
+ bool Ready(void);
+ void Debug(void);
+};
+
+#endif //__TEMPLATELOOPFUNCTION_H