version 0.3.17
[fms.git] / src / freenet / captcha / alternatecaptcha1.cpp
index e76a57c..0b9db08 100644 (file)
@@ -1,27 +1,23 @@
 #include "../../../include/freenet/captcha/alternatecaptcha1.h"\r
 \r
-#include <Poco/Path.h>\r
-#include <Poco/DirectoryIterator.h>\r
-\r
 #include <cmath>\r
+#include <cstdlib>\r
 \r
 #ifdef ALTERNATE_CAPTCHA\r
 \r
-bool AlternateCaptcha1::m_fontsloaded(false);\r
-std::vector<FreeImage::Font> AlternateCaptcha1::m_fonts;\r
-\r
 AlternateCaptcha1::AlternateCaptcha1()\r
 {\r
-       if(m_fontsloaded==false)\r
-       {\r
-               FreeImage_Initialise(true);\r
-               LoadFonts();\r
-               m_fontsloaded=true;\r
-       }\r
+       AlternateCaptchaFonts fonts;\r
+       m_fonts=fonts.Fonts();\r
 }\r
 \r
 void AlternateCaptcha1::Generate()\r
 {\r
+       if(m_fonts.size()==0)\r
+       {\r
+               return;\r
+       }\r
+\r
        std::string puzzlestring=GenerateRandomString(5);\r
        FreeImage::Bitmap tempchar(50,50,32);\r
        tempchar.SetTransparent();\r
@@ -60,7 +56,7 @@ void AlternateCaptcha1::Generate()
        white.rgbGreen=255;\r
        white.rgbBlue=255;\r
        white.rgbReserved=255;\r
-       int numlines=(rand()%5)+10;\r
+       int numlines=(rand()%5)+5;\r
        for(int i=0; i<numlines; i++)\r
        {\r
                // draw 4 short lines very close to each other\r
@@ -127,24 +123,4 @@ const bool AlternateCaptcha1::GetSolution(std::vector<unsigned char> &solution)
        return true;\r
 }\r
 \r
-void AlternateCaptcha1::LoadFonts()\r
-{\r
-\r
-       FreeImage::Bitmap bmp;\r
-       Poco::Path path("fonts");\r
-       Poco::DirectoryIterator di(path);\r
-       Poco::DirectoryIterator end;\r
-\r
-       while(di!=end)\r
-       {\r
-               if(di.name().find("bmp")!=std::string::npos)\r
-               {\r
-                       bmp.Load("bmp",di.path().toString());\r
-                       m_fonts.push_back(FreeImage::Font(bmp));\r
-               }\r
-               ++di;\r
-       }\r
-\r
-}\r
-\r
 #endif // ALTERNATE_CAPTCHA\r