version 0.3.14
[fms.git] / include / freenet / captcha / alternatecaptcha1.h
diff --git a/include/freenet/captcha/alternatecaptcha1.h b/include/freenet/captcha/alternatecaptcha1.h
new file mode 100644 (file)
index 0000000..a47f2c3
--- /dev/null
@@ -0,0 +1,36 @@
+#ifndef _alternate_captcha1_\r
+#define _alternate_captcha1_\r
+\r
+#ifdef ALTERNATE_CAPTCHA\r
+\r
+#include <string>\r
+\r
+#include "icaptcha.h"\r
+#include "freeimage/bitmap.h"\r
+#include "freeimage/font.h"\r
+\r
+class AlternateCaptcha1:public ICaptcha\r
+{\r
+public:\r
+       AlternateCaptcha1();\r
+\r
+       void Generate();\r
+\r
+       const bool GetPuzzle(std::vector<unsigned char> &puzzle);\r
+       const bool GetSolution(std::vector<unsigned char> &solution);\r
+\r
+private:\r
+       void LoadFonts();\r
+       const std::string GenerateRandomString(const int len);\r
+\r
+       static bool m_fontsloaded;\r
+       static std::vector<FreeImage::Font> m_fonts;\r
+\r
+       std::vector<unsigned char> m_puzzle;\r
+       std::vector<unsigned char> m_solution;\r
+\r
+};\r
+\r
+#endif // ALTERNATE_CAPTCHA\r
+\r
+#endif // _alternate_captcha1_\r