]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/screenshotgen/src/autocapture.cpp
using scan-line polygon conversion for constructing wxregion
[wxWidgets.git] / utils / screenshotgen / src / autocapture.cpp
index aac2262fbea87194c2b4afa72193c1e512e5dbde..1ad9723dbb736b765bbd6043334d89c29c651c27 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     Implement wxCtrlMaskOut class
 // Author:      Utensil Candel (UtensilCandel@@gmail.com)
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // For compilers that support precompilation, includes "wx/wx.h".
@@ -44,7 +44,7 @@ AutoCaptureMechanism::AutoCaptureMechanism(wxNotebook *notebook,
 }
 
 /* static */
-wxString AutoCaptureMechanism::default_dir = _T("screenshots");
+wxString AutoCaptureMechanism::default_dir = wxT("screenshots");
 
 /* static */
 wxString AutoCaptureMechanism::GetDefaultDirectoryAbsPath()
@@ -61,7 +61,7 @@ void AutoCaptureMechanism::Delay(int seconds)
 
     // Wait for 3 seconds
     clock_t start = clock();
-    while ( (long)clock() - start < CLOCKS_PER_SEC * seconds)
+    while ( clock() - start < (clock_t)CLOCKS_PER_SEC * seconds)
         wxYieldIfNeeded();
 }
 
@@ -72,7 +72,7 @@ bool AutoCaptureMechanism::Capture(wxBitmap* bitmap, int x, int y,
     // Somehow wxScreenDC.Blit() doesn't work under Mac for now. Here is a trick.
 #ifdef __WXMAC__
 
-    // wxExecute(_T("screencapture -x ") + tempfile, wxEXEC_SYNC);
+    // wxExecute(wxT("screencapture -x ") + tempfile, wxEXEC_SYNC);
 
     char captureCommand[80] =""; // a reasonable max size is 80
     sprintf(captureCommand, "sleep %d;%s", delay, "screencapture -x /tmp/wx_screen_capture.png");
@@ -83,7 +83,7 @@ bool AutoCaptureMechanism::Capture(wxBitmap* bitmap, int x, int y,
     wxBitmap fullscreen;
     do
     {
-        fullscreen = wxBitmap(_T("/tmp/wx_screen_capture.png"), wxBITMAP_TYPE_PNG);
+        fullscreen = wxBitmap(wxT("/tmp/wx_screen_capture.png"), wxBITMAP_TYPE_PNG);
     }
     while(!fullscreen.IsOk());
 
@@ -141,7 +141,8 @@ void AutoCaptureMechanism::Save(wxBitmap* screenshot, const wxString& fileName)
     if (!wxDirExists(default_dir))
         wxMkdir(default_dir);
 
-    wxFileName fullFileName(default_dir, fileName + ".png");
+    wxFileName fullFileName(default_dir, "appear-" + fileName +
+        "-" + wxPlatformInfo::Get().GetPortIdShortName() + ".png");
 
     // do not overwrite already existing files with this name
     while (fullFileName.FileExists())
@@ -199,7 +200,7 @@ bool AutoCaptureMechanism::Capture(wxBitmap* bitmap, Control& ctrl)
 {
     // no manual specification for the control name
     // or name adjustment is disabled globally
-    if (ctrl.name == _T("") || m_flag & AJ_DisableNameAdjust)
+    if (ctrl.name == wxT("") || m_flag & AJ_DisableNameAdjust)
     {
         // Get its name from wxRTTI
         ctrl.name = ctrl.ctrl->GetClassInfo()->GetClassName();
@@ -234,7 +235,7 @@ bool AutoCaptureMechanism::Capture(wxBitmap* bitmap, Control& ctrl)
 
     // cut off "wx" and change the name into lowercase.
     // e.g. wxButton will have a name of "button" at the end
-    ctrl.name.StartsWith(_T("wx"), &(ctrl.name));
+    ctrl.name.StartsWith(wxT("wx"), &(ctrl.name));
     ctrl.name.MakeLower();
 
     // take the screenshot
@@ -279,7 +280,7 @@ bool AutoCaptureMechanism::Union(wxBitmap* top, wxBitmap* bottom, wxBitmap* resu
 
 wxRect AutoCaptureMechanism::GetRect(wxWindow* ctrl, int flag)
 {
-    if( !(m_flag & AJ_DisableRegionAdjust) && (flag & AJ_RegionAdjust)
+    if( (!(m_flag & AJ_DisableRegionAdjust) && (flag & AJ_RegionAdjust))
         || (m_flag & AJ_AlwaysRegionAdjust) )
     {
         wxWindow * parent = ctrl->GetParent();
@@ -307,16 +308,16 @@ wxRect AutoCaptureMechanism::GetRect(wxWindow* ctrl, int flag)
         wxStaticText* l[4];
 
         for (int i = 0; i < 4; ++i)
-            l[i] = new wxStaticText(parent, wxID_ANY, _T(" "));
+            l[i] = new wxStaticText(parent, wxID_ANY, wxT(" "));
 
         m_grid->Add(l[0]);
-        m_grid->Add(new wxStaticText(parent, wxID_ANY, _T(" ")));
+        m_grid->Add(new wxStaticText(parent, wxID_ANY, wxT(" ")));
         m_grid->Add(l[1]);
-        m_grid->Add(new wxStaticText(parent, wxID_ANY, _T(" ")));
+        m_grid->Add(new wxStaticText(parent, wxID_ANY, wxT(" ")));
         m_grid->Add(ctrl, 1, wxEXPAND);
-        m_grid->Add(new wxStaticText(parent, wxID_ANY, _T(" ")));
+        m_grid->Add(new wxStaticText(parent, wxID_ANY, wxT(" ")));
         m_grid->Add(l[2]);
-        m_grid->Add(new wxStaticText(parent, wxID_ANY, _T(" ")));
+        m_grid->Add(new wxStaticText(parent, wxID_ANY, wxT(" ")));
         m_grid->Add(l[3]);
 
         sizer->Add(m_grid);