added the automatic screenshot generator utility by Utensil Candel (with some revisions and reorganizations)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2008-10-06 09:37:27 +00:00
parent cbff0d0e3d
commit 0d5eda9ccd
36 changed files with 9055 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
all:
cd src; $(MAKE)
clean:
cd src; $(MAKE) clean

View File

@@ -0,0 +1,19 @@
wxWidgets Controls Screenshot Generator
=======================================
Author: Utensil Candel (Email: UtensilCandel at GMail dot com)
Licence: wxWidgets Licence
Thanks: Auria, frm, tierra, Jorg (these are the names they use on the wxWidgets forum)
This utility is developed to generate automatically screenshots of the wxWidgets
controls for use in wxWidgets documentation.
The main part of the GUI (guiframe.h/guiframe.cpp) is generated with wxFormBuilder
(http://wxformbuilder.org/), a powerful cross-platform open-source RAD tool.
To add a control that wxFormBuilder doesn't support directly, "custom controls"
feature of wxFormBuilder has been used.
Please DO NOT modify guiframe.h/guiframe.cpp; modify the code in the wxFormBuilder
project file, instead.

View File

@@ -0,0 +1,267 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.4 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
@MAKE_SET@
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
INSTALL = @INSTALL@
EXEEXT = @EXEEXT@
WINDRES = @WINDRES@
SETFILE = @SETFILE@
STRIP = @STRIP@
NM = @NM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DIR = @INSTALL_DIR@
BK_DEPS = @BK_DEPS@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
bindir = @bindir@
LIBS = @LIBS@
LDFLAGS_GUI = @LDFLAGS_GUI@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
WX_LIB_FLAVOUR = @WX_LIB_FLAVOUR@
TOOLKIT = @TOOLKIT@
TOOLKIT_LOWERCASE = @TOOLKIT_LOWERCASE@
TOOLKIT_VERSION = @TOOLKIT_VERSION@
TOOLCHAIN_FULLNAME = @TOOLCHAIN_FULLNAME@
EXTRALIBS = @EXTRALIBS@
EXTRALIBS_XML = @EXTRALIBS_XML@
EXTRALIBS_HTML = @EXTRALIBS_HTML@
EXTRALIBS_GUI = @EXTRALIBS_GUI@
EXTRALIBS_SDL = @EXTRALIBS_SDL@
CXXWARNINGS = @CXXWARNINGS@
HOST_SUFFIX = @HOST_SUFFIX@
SAMPLES_RPATH_FLAG = @SAMPLES_RPATH_FLAG@
SAMPLES_RPATH_POSTLINK = @SAMPLES_RPATH_POSTLINK@
wx_top_builddir = @wx_top_builddir@
### Variables: ###
DESTDIR =
WX_RELEASE = 2.9
WX_VERSION = $(WX_RELEASE).0
LIBDIRNAME = $(wx_top_builddir)/lib
SCREENSHOTGEN_CXXFLAGS = -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
-I$(srcdir) $(__DLLFLAG_p) -I$(srcdir)/../../../samples $(CXXWARNINGS) \
$(CPPFLAGS) $(CXXFLAGS)
SCREENSHOTGEN_OBJECTS = \
$(__screenshotgen_os2_lib_res) \
screenshotgen_screenshot_app.o \
screenshotgen_screenshot_main.o \
screenshotgen_guiframe.o \
screenshotgen_ctrlmaskout.o \
screenshotgen_customcombo.o \
screenshotgen_autocapture.o \
$(__screenshotgen___win32rc)
### Conditionally set variables: ###
@COND_DEPS_TRACKING_0@CXXC = $(CXX)
@COND_DEPS_TRACKING_1@CXXC = $(BK_DEPS) $(CXX)
@COND_USE_PLUGINS_0@PLUGIN_ADV_EXTRALIBS = $(EXTRALIBS_SDL)
@COND_USE_GUI_0@PORTNAME = base
@COND_USE_GUI_1@PORTNAME = $(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)
@COND_TOOLKIT_MAC@WXBASEPORT = _carbon
@COND_BUILD_debug_DEBUG_FLAG_default@WXDEBUGFLAG = d
@COND_DEBUG_FLAG_1@WXDEBUGFLAG = d
@COND_UNICODE_1@WXUNICODEFLAG = u
@COND_WXUNIV_1@WXUNIVNAME = univ
@COND_MONOLITHIC_0@EXTRALIBS_FOR_BASE = $(EXTRALIBS)
@COND_MONOLITHIC_1@EXTRALIBS_FOR_BASE = $(EXTRALIBS) $(EXTRALIBS_GUI)
@COND_MONOLITHIC_0@EXTRALIBS_FOR_GUI = $(EXTRALIBS_GUI)
@COND_MONOLITHIC_1@EXTRALIBS_FOR_GUI =
@COND_PLATFORM_MAC_0@__screenshotgen___mac_setfilecmd = @true
@COND_PLATFORM_MAC_1@__screenshotgen___mac_setfilecmd \
@COND_PLATFORM_MAC_1@ = $(SETFILE) -t APPL screenshotgen$(EXEEXT)
@COND_WXUNIV_1@__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
@COND_WXUNIV_1@__WXUNIV_DEFINE_p_2 = --define __WXUNIVERSAL__
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p_2 = --define wxNO_EXCEPTIONS
@COND_USE_RTTI_0@__RTTI_DEFINE_p = -DwxNO_RTTI
@COND_USE_RTTI_0@__RTTI_DEFINE_p_2 = --define wxNO_RTTI
@COND_USE_THREADS_0@__THREAD_DEFINE_p = -DwxNO_THREADS
@COND_USE_THREADS_0@__THREAD_DEFINE_p_2 = --define wxNO_THREADS
@COND_SHARED_1@__DLLFLAG_p = -DWXUSINGDLL
@COND_SHARED_1@__DLLFLAG_p_2 = --define WXUSINGDLL
COND_PLATFORM_OS2_1___screenshotgen___os2_emxbindcmd = $(NM) \
screenshotgen$(EXEEXT) | if grep -q pmwin.763 ; then emxbind -ep \
screenshotgen$(EXEEXT) ; fi
@COND_PLATFORM_OS2_1@__screenshotgen___os2_emxbindcmd = $(COND_PLATFORM_OS2_1___screenshotgen___os2_emxbindcmd)
@COND_TOOLKIT_MSW@__RCDEFDIR_p_1 = --include-dir \
@COND_TOOLKIT_MSW@ $(LIBDIRNAME)/wx/include/$(TOOLCHAIN_FULLNAME)
@COND_PLATFORM_OS2_1@__screenshotgen_os2_lib_res = \
@COND_PLATFORM_OS2_1@ $(top_srcdir)/include/wx/os2/wx.res
@COND_PLATFORM_MACOSX_1@__screenshotgen_app_Contents_PkgInfo___depname \
@COND_PLATFORM_MACOSX_1@ = screenshotgen.app/Contents/PkgInfo
@COND_PLATFORM_MACOSX_1@__screenshotgen_bundle___depname \
@COND_PLATFORM_MACOSX_1@ = screenshotgen_bundle
@COND_TOOLKIT_MAC@____screenshotgen_BUNDLE_TGT_REF_DEP = \
@COND_TOOLKIT_MAC@ $(__screenshotgen_app_Contents_PkgInfo___depname)
@COND_TOOLKIT_OSX_CARBON@____screenshotgen_BUNDLE_TGT_REF_DEP \
@COND_TOOLKIT_OSX_CARBON@ = \
@COND_TOOLKIT_OSX_CARBON@ $(__screenshotgen_app_Contents_PkgInfo___depname)
@COND_TOOLKIT_OSX_COCOA@____screenshotgen_BUNDLE_TGT_REF_DEP \
@COND_TOOLKIT_OSX_COCOA@ = \
@COND_TOOLKIT_OSX_COCOA@ $(__screenshotgen_app_Contents_PkgInfo___depname)
@COND_TOOLKIT_OSX_IPHONE@____screenshotgen_BUNDLE_TGT_REF_DEP \
@COND_TOOLKIT_OSX_IPHONE@ = \
@COND_TOOLKIT_OSX_IPHONE@ $(__screenshotgen_app_Contents_PkgInfo___depname)
@COND_TOOLKIT_COCOA@____screenshotgen_BUNDLE_TGT_REF_DEP \
@COND_TOOLKIT_COCOA@ = $(__screenshotgen_app_Contents_PkgInfo___depname)
COND_MONOLITHIC_0___WXLIB_AUI_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_AUI_p = $(COND_MONOLITHIC_0___WXLIB_AUI_p)
COND_MONOLITHIC_0___WXLIB_ADV_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_ADV_p = $(COND_MONOLITHIC_0___WXLIB_ADV_p)
COND_MONOLITHIC_0___WXLIB_RICHTEXT_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_RICHTEXT_p = $(COND_MONOLITHIC_0___WXLIB_RICHTEXT_p)
COND_MONOLITHIC_0___WXLIB_HTML_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_HTML_p = $(COND_MONOLITHIC_0___WXLIB_HTML_p)
COND_MONOLITHIC_0___WXLIB_XML_p = \
-lwx_base$(WXBASEPORT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_XML_p = $(COND_MONOLITHIC_0___WXLIB_XML_p)
COND_MONOLITHIC_0___WXLIB_CORE_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_CORE_p = $(COND_MONOLITHIC_0___WXLIB_CORE_p)
COND_MONOLITHIC_0___WXLIB_BASE_p = \
-lwx_base$(WXBASEPORT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p)
@COND_PLATFORM_WIN32_1@__screenshotgen___win32rc = \
@COND_PLATFORM_WIN32_1@ screenshotgen_screenshotgen_rc.o
COND_MONOLITHIC_1___WXLIB_MONO_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_1@__WXLIB_MONO_p = $(COND_MONOLITHIC_1___WXLIB_MONO_p)
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@__LIB_TIFF_p \
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ -lwxtiff$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@__LIB_JPEG_p \
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ -lwxjpeg$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@__LIB_PNG_p \
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ -lwxpng$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_ZLIB_builtin@__LIB_ZLIB_p = \
@COND_wxUSE_ZLIB_builtin@ -lwxzlib$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
COND_wxUSE_REGEX_builtin___LIB_REGEX_p = \
-lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_REGEX_builtin@__LIB_REGEX_p = $(COND_wxUSE_REGEX_builtin___LIB_REGEX_p)
@COND_wxUSE_EXPAT_builtin@__LIB_EXPAT_p = \
@COND_wxUSE_EXPAT_builtin@ -lwxexpat$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
### Targets: ###
all: screenshotgen$(EXEEXT) $(__screenshotgen_bundle___depname) data
install: install_screenshotgen
uninstall: uninstall_screenshotgen
install-strip: install
$(STRIP) $(DESTDIR)$(bindir)/screenshotgen$(EXEEXT)
clean:
rm -rf ./.deps ./.pch
rm -f ./*.o
rm -f screenshotgen$(EXEEXT)
rm -rf screenshotgen.app
distclean: clean
rm -f config.cache config.log config.status bk-deps bk-make-pch shared-ld-sh Makefile
screenshotgen$(EXEEXT): $(SCREENSHOTGEN_OBJECTS) $(__screenshotgen___win32rc)
$(CXX) -o $@ $(SCREENSHOTGEN_OBJECTS) -L$(LIBDIRNAME) $(LDFLAGS_GUI) $(SAMPLES_RPATH_FLAG) $(LDFLAGS) $(__WXLIB_AUI_p) $(__WXLIB_ADV_p) $(PLUGIN_ADV_EXTRALIBS) $(__WXLIB_RICHTEXT_p) $(__WXLIB_HTML_p) $(EXTRALIBS_HTML) $(__WXLIB_XML_p) $(EXTRALIBS_XML) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)
$(__screenshotgen___mac_setfilecmd)
$(__screenshotgen___os2_emxbindcmd)
$(SAMPLES_RPATH_POSTLINK)
@COND_PLATFORM_MACOSX_1@screenshotgen.app/Contents/PkgInfo: screenshotgen$(EXEEXT) $(top_srcdir)/src/osx/carbon/Info.plist.in $(top_srcdir)/src/osx/carbon/wxmac.icns
@COND_PLATFORM_MACOSX_1@ mkdir -p screenshotgen.app/Contents
@COND_PLATFORM_MACOSX_1@ mkdir -p screenshotgen.app/Contents/MacOS
@COND_PLATFORM_MACOSX_1@ mkdir -p screenshotgen.app/Contents/Resources
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@ sed -e "s/IDENTIFIER/`echo $(srcdir) | sed -e 's,\.\./,,g' | sed -e 's,/,.,g'`/" \
@COND_PLATFORM_MACOSX_1@ -e "s/EXECUTABLE/screenshotgen/" \
@COND_PLATFORM_MACOSX_1@ -e "s/VERSION/$(WX_VERSION)/" \
@COND_PLATFORM_MACOSX_1@ $(top_srcdir)/src/osx/carbon/Info.plist.in >screenshotgen.app/Contents/Info.plist
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@ echo -n "APPL????" >screenshotgen.app/Contents/PkgInfo
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@ ln -f screenshotgen$(EXEEXT) screenshotgen.app/Contents/MacOS/screenshotgen
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@ cp -f $(top_srcdir)/src/osx/carbon/wxmac.icns screenshotgen.app/Contents/Resources/wxmac.icns
@COND_PLATFORM_MACOSX_1@screenshotgen_bundle: $(____screenshotgen_BUNDLE_TGT_REF_DEP)
install_screenshotgen: screenshotgen$(EXEEXT)
$(INSTALL_DIR) $(DESTDIR)$(bindir)
$(INSTALL_PROGRAM) screenshotgen$(EXEEXT) $(DESTDIR)$(bindir)
uninstall_screenshotgen:
rm -f $(DESTDIR)$(bindir)/screenshotgen$(EXEEXT)
data:
@mkdir -p .
@for f in richtext.xml bitmaps/wxwin32x32.png bitmaps/bell.png bitmaps/info.png bitmaps/sound.png bitmaps/dropbuth.png bitmaps/dropbutn.png bitmaps/dropbutp.png bitmaps/throbber.gif; do \
if test ! -f ./$$f -a ! -d ./$$f ; \
then x=yep ; \
else x=`find $(srcdir)/$$f -newer ./$$f -print` ; \
fi; \
case "$$x" in ?*) \
cp -pRf $(srcdir)/$$f . ;; \
esac; \
done
screenshotgen_screenshot_app.o: $(srcdir)/screenshot_app.cpp
$(CXXC) -c -o $@ $(SCREENSHOTGEN_CXXFLAGS) $(srcdir)/screenshot_app.cpp
screenshotgen_screenshot_main.o: $(srcdir)/screenshot_main.cpp
$(CXXC) -c -o $@ $(SCREENSHOTGEN_CXXFLAGS) $(srcdir)/screenshot_main.cpp
screenshotgen_guiframe.o: $(srcdir)/guiframe.cpp
$(CXXC) -c -o $@ $(SCREENSHOTGEN_CXXFLAGS) $(srcdir)/guiframe.cpp
screenshotgen_ctrlmaskout.o: $(srcdir)/ctrlmaskout.cpp
$(CXXC) -c -o $@ $(SCREENSHOTGEN_CXXFLAGS) $(srcdir)/ctrlmaskout.cpp
screenshotgen_customcombo.o: $(srcdir)/customcombo.cpp
$(CXXC) -c -o $@ $(SCREENSHOTGEN_CXXFLAGS) $(srcdir)/customcombo.cpp
screenshotgen_autocapture.o: $(srcdir)/autocapture.cpp
$(CXXC) -c -o $@ $(SCREENSHOTGEN_CXXFLAGS) $(srcdir)/autocapture.cpp
screenshotgen_screenshotgen_rc.o: $(srcdir)/screenshotgen.rc
$(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_2) $(__EXCEPTIONS_DEFINE_p_2) $(__RTTI_DEFINE_p_2) $(__THREAD_DEFINE_p_2) --include-dir $(srcdir) $(__DLLFLAG_p_2) --include-dir $(srcdir)/../../../samples $(__RCDEFDIR_p_1) --include-dir $(top_srcdir)/include
$(srcdir)/include/wx/stc/stc.h: \
$(srcdir)/src/stc/scintilla/include/Scintilla.iface \
$(srcdir)/src/stc/stc.cpp.in \
$(srcdir)/src/stc/stc.h.in \
$(srcdir)/src/stc/gen_iface.py
cd $(srcdir)/src/stc && ./gen_iface.py
monolib_stc.o monodll_stc.o stcdll_stc.o stclib_stc.o: \
$(srcdir)/include/wx/stc/stc.h
# Include dependency info, if present:
@IF_GNU_MAKE@-include ./.deps/*.d
.PHONY: all install uninstall clean distclean screenshotgen_bundle \
install_screenshotgen uninstall_screenshotgen data

View File

@@ -0,0 +1,180 @@
/////////////////////////////////////////////////////////////////////////////
// Name: autocapture.cpp
// Purpose: Implement wxCtrlMaskOut class
// Author: Utensil Candel (UtensilCandel@@gmail.com)
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
// for all others, include the necessary headers
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include <wx/filename.h>
#include "autocapture.h"
wxBitmap Capture(int x, int y, int width, int height)
{
//Somehow wxScreenDC.Blit() doesn't work under Mac for now. Here is a trick.
#ifdef __WXMAC__
//wxExecute(_T("screencapture -x ") + tempfile, wxEXEC_SYNC);
system("screencapture -x /tmp/wx_screen_capture.png");
wxBitmap fullscreen;
do
{
fullscreen = wxBitmap(_T("/tmp/wx_screen_capture.png"), wxBITMAP_TYPE_PNG);
}
while(!fullscreen.IsOk());
wxBitmap screenshot = fullscreen.GetSubBitmap(wxRect(x,y,width,height));
#else //Under other paltforms, take a real screenshot
//Create a DC for the whole screen area
wxScreenDC dcScreen;
//Create a Bitmap that will later on hold the screenshot image
//Note that the Bitmap must have a size big enough to hold the screenshot
//-1 means using the current default colour depth
wxBitmap screenshot(width, height, -1);
//Create a memory DC that will be used for actually taking the screenshot
wxMemoryDC memDC;
//Tell the memory DC to use our Bitmap
//all drawing action on the memory DC will go to the Bitmap now
memDC.SelectObject(screenshot);
//Blit (in this case copy) the actual screen on the memory DC
//and thus the Bitmap
memDC.Blit( 0, //Copy to this X coordinate
0, //Copy to this Y coordinate
width, //Copy this width
height, //Copy this height
&dcScreen, //From where do we copy?
x, //What's the X offset in the original DC?
y //What's the Y offset in the original DC?
);
//Select the Bitmap out of the memory DC by selecting a new
//uninitialized Bitmap
memDC.SelectObject(wxNullBitmap);
#endif //#ifdef __WXMAC__
// wxMessageBox(_(""),_(""));
return screenshot;
}
wxBitmap Capture(wxRect rect)
{
wxPoint origin = rect.GetPosition();
return Capture(origin.x, origin.y, rect.GetWidth(), rect.GetHeight());
}
void AutoCaptureMechanism::Save(wxBitmap screenshot, wxString fileName)
{
//Check if m_defaultDir already existed
if(!wxDirExists(m_dir))
wxMkdir(m_dir);
wxString fullFileName = m_dir + wxFileName::GetPathSeparator() + fileName;
//to prvent overwritten
while(wxFileName::FileExists(fullFileName + _T(".png"))) fullFileName += _T("_");
//Our Bitmap now has the screenshot, so let's save it as an png
//The filename itself is without extension.
screenshot.SaveFile(fullFileName + _T(".png"), wxBITMAP_TYPE_PNG);
}
wxRect AutoCaptureMechanism::GetRect(wxWindow* ctrl, int flag)
{
if(flag & AJ_RegionAdjust)
{
wxWindow * parent = ctrl->GetParent();
wxSizer * sizer = parent->GetSizer();
if(sizer)
{
sizer->Detach(ctrl);
/*
+---------+-----------+---------+
| 0 | label | 1 |
+---------+-----------+---------+
| label | ctrl | label |
+---------+-----------+---------+
| 2 | label | 3 |
+---------+-----------+---------+
*/
m_grid = new wxFlexGridSizer(3, 3, m_border, m_border);
wxStaticText* l[4];
for(int i = 0; i < 4; ++i)
l[i] = new wxStaticText(parent, wxID_ANY, wxT(" "));
m_grid->Add(l[0]);
m_grid->Add(new wxStaticText(parent, wxID_ANY, wxT(" ")));
m_grid->Add(l[1]);
m_grid->Add(new wxStaticText(parent, wxID_ANY, wxT(" ")));
m_grid->Add(ctrl);
m_grid->Add(new wxStaticText(parent, wxID_ANY, wxT(" ")));
m_grid->Add(l[2]);
m_grid->Add(new wxStaticText(parent, wxID_ANY, wxT(" ")));
m_grid->Add(l[3]);
sizer->Add(m_grid);
parent->SetSizer(sizer);
parent->Layout();
parent->Refresh();
wxYield();
return wxRect(l[0]->GetScreenRect().GetBottomRight(),
l[3]->GetScreenRect().GetTopLeft());
}
else //Actually it won't get here working with the current guiframe.h/guiframe.cpp
{
return ctrl->GetScreenRect().Inflate(m_border);
}
}
else
{
return ctrl->GetScreenRect().Inflate(m_border);
}
}
void AutoCaptureMechanism::PutBack(wxWindow * ctrl)
{
m_grid->Detach(ctrl);
wxSizerItemList children = m_grid->GetChildren();
for(wxSizerItemList::iterator it = children.begin(); it != children.end(); ++it)
{
wxSizerItem* item = *it;
if(item->IsWindow()) delete (*it)->GetWindow();
}
wxSizer * sizer = ctrl->GetParent()->GetSizer();
sizer->Detach(m_grid);
delete m_grid;
sizer->Add(ctrl);
}

View File

@@ -0,0 +1,228 @@
/////////////////////////////////////////////////////////////////////////////
// Name: autocapture.h
// Purpose: Defines the AutoCaptureMechanism class
// Author: Utensil Candel (UtensilCandel@@gmail.com)
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef AUTOCAP_H
#define AUTOCAP_H
#include <wx/notebook.h>
#include <wx/settings.h>
#include <vector>
#include <ctime>
// Global helper functions. to take screenshot for a rect region
wxBitmap Capture(wxRect rect);
wxBitmap Capture(int x, int y, int width, int height);
enum AdjustFlags
{
AJ_Normal = 0,
AJ_RegionAdjust = 1 << 0,
AJ_Dropdown = 1 << 1,
AJ_TurnPage = 1 << 2,
AJ_Union = 1 << 3,
AJ_UnionEnd = 1 << 4
};
class AutoCaptureMechanism
{
public:
AutoCaptureMechanism(wxNotebook * notebook,
wxString directory = wxT("screenshots"),
int border = 5)
: m_notebook(notebook), m_dir(directory), m_border(border) {}
~AutoCaptureMechanism(){}
/*
If wxRTTI can't get the name correctly, specify name;
If wxWindow::GetScreenRect doesn't get the rect correctly, set flag to AJ_RegionAdjust
*/
void RegisterControl(wxWindow * ctrl, wxString name = wxT(""),
int flag = AJ_Normal)
{
m_controlList.push_back(Control(ctrl, name, flag));
}
void RegisterControl(wxWindow * ctrl, int flag)
{
RegisterControl(ctrl, wxT(""), flag);
}
void RegisterPageTurn()
{
m_controlList.push_back(Control(0, wxT(""), AJ_TurnPage));
}
void CaptureAll()
{
m_notebook->SetSelection(0);
wxYield();
for(ControlList::iterator it = m_controlList.begin();
it != m_controlList.end();
++it)
{
Control & ctrl = *it;
if(ctrl.flag == AJ_TurnPage) // Turn to next page
{
m_notebook->SetSelection(m_notebook->GetSelection() + 1);
wxYield();
continue;
}
wxBitmap screenshot = Capture(ctrl);
if(ctrl.flag & AJ_Union)
{
screenshot = Union(screenshot, Capture(*(++it)));
}
Save(screenshot, ctrl.name);
}
}
private:
struct Control
{
Control() {}
Control(wxWindow * _ctrl, wxString _name, int _flag)
: ctrl(_ctrl), name(_name), flag(_flag) {}
wxWindow * ctrl;
wxString name;
int flag;
};
typedef std::vector<Control> ControlList;
ControlList m_controlList;
// here we introduce the dependency on wxNotebook.
// The assumption of this whole class is that the gui has the following top-down structure
// wxNotebook wxPanel wxSizer wxControls
wxNotebook* m_notebook;
wxFlexGridSizer* m_grid;
wxString m_dir;
int m_border;
wxBitmap Capture(Control & ctrl)
{
if(ctrl.name == wxT("")) //no mannual specification for the control name
{
//Get name from wxRTTI
ctrl.name = ctrl.ctrl->GetClassInfo()->GetClassName();
}
int choice = wxNO;
if(ctrl.flag & AJ_Dropdown)
{
wxString caption = _("Do you wish to capture the dropdown list of ") + ctrl.name + _("?");
wxString notice = _("Click YES to capture it.\nAnd you MUST drop down the ") + ctrl.name + _(" in 3 seconds after close me.\n");
notice += _("Click NO otherwise.");
choice = wxMessageBox(notice, caption, wxYES_NO, m_notebook);
if(choice == wxYES)
{
//Wait for 3 seconds
using std::clock;
using std::clock_t;
clock_t start = clock();
while(clock() - start < CLOCKS_PER_SEC * 3)
{
wxYieldIfNeeded();
}
}
}
wxRect rect = GetRect(ctrl.ctrl, ctrl.flag);
//Do some rect adjust so it can include the dropdown list
//Currently it only works well under MSW, not adjusted for Linux and Mac OS
if(ctrl.flag & AJ_Dropdown && choice == wxYES)
{
// #ifdef __WXMSW__
int h = rect.GetHeight();
rect.SetHeight(h * 4);
// #endif
}
//cut off "wx" and change them into lowercase.
// e.g. wxButton will have a name of "button" at the end
ctrl.name.StartsWith(_T("wx"), &(ctrl.name));
ctrl.name.MakeLower();
wxBitmap screenshot = ::Capture(rect);
if(ctrl.flag & AJ_RegionAdjust)
{
PutBack(ctrl.ctrl);
}
return screenshot;
}
//if AJ_RegionAdjust is specified, the following line will use the label trick to adjust
//the region position and size
wxRect GetRect(wxWindow* ctrl, int flag);
//put the control back after the label trick(Using reparent/resizer approach)
void PutBack(wxWindow * ctrl);
wxBitmap Union(wxBitmap pic1, wxBitmap pic2)
{
int w1, w2, h1, h2, w, h;
w1 = pic1.GetWidth();
w2 = pic2.GetWidth();
h1 = pic1.GetHeight();
h2 = pic2.GetHeight();
const int gap_between = 20;
w = (w1 >= w2) ? w1 : w2;
h = h1 + h2 + gap_between;
wxBitmap result(w, h, -1);
wxMemoryDC dstDC;
dstDC.SelectObject(result);
dstDC.DrawBitmap(pic1, 0, 0, false);
dstDC.DrawBitmap(pic2, 0, h1 + gap_between, false);
dstDC.SelectObject(wxNullBitmap);
wxMemoryDC maskDC;
wxBitmap mask(w, h, 1);
maskDC.SelectObject(mask);
maskDC.SetPen(*wxTRANSPARENT_PEN);
maskDC.SetBrush(*wxBLACK_BRUSH);
maskDC.DrawRectangle(0, 0, w + 1, h + 1);
maskDC.SetBrush(*wxWHITE_BRUSH);
maskDC.DrawRectangle(0, 0, w1, h1);
maskDC.DrawRectangle(0, h1 + gap_between, w2, h2);
maskDC.SelectObject(wxNullBitmap);
result.SetMask(new wxMask(mask));
return result;
}
void Save(wxBitmap screenshot, wxString fileName);
};
#endif // AUTOCAP_H

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,440 @@
/////////////////////////////////////////////////////////////////////////////
// Name: ctrlmaskout.cpp
// Purpose: Implement wxCtrlMaskOut class
// Author: Utensil Candel (UtensilCandel@@gmail.com)
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
// for all others, include the necessary headers
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#ifdef __WXMAC__ // See CreateMask()
#include <wx/minifram.h>
#include <cstdlib>
#endif
#include <wx/filename.h>
#include <wx/hashset.h>
#include "ctrlmaskout.h"
// It's copied from src/aui/framemanager.cpp and modified, a failed attempt to
// visualize the process of taking the screenshot when wxTopLevelWindow::CanSetTransparent
// returns false. see wxCtrlMaskOut::CreateMask for more info
// now it shows nothing and does nothing
/////////////////////////////////////////////////////////////////////////////
class wxPseudoTransparentFrame : public wxFrame
{
public:
wxPseudoTransparentFrame(wxWindow* parent = NULL,
wxWindowID id = wxID_ANY,
const wxString& title = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
const wxString &name = wxT("frame"))
: wxFrame(parent, id, title, pos, size, style | wxFRAME_SHAPED, name)
{
m_lastWidth=0;
m_lastHeight=0;
}
virtual bool SetTransparent(wxByte alpha)
{
return true;
}
void OnPaint(wxPaintEvent& WXUNUSED(event)){}
virtual void SetSize(const wxRect& rect){}
virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO){}
virtual void SetSize(int width, int height){}
virtual void SetSize(const wxSize& size){}
virtual bool Show(bool show = true){ return true;}
void OnSize(wxSizeEvent& event)
{
// // We sometimes get surplus size events
// if ((event.GetSize().GetWidth() == m_lastWidth) &&
// (event.GetSize().GetHeight() == m_lastHeight))
// {
// event.Skip();
// return;
// }
//
// Show(false);
//
// GetParent()->Update();
//
// Show(true);
//
//
// m_lastWidth = event.GetSize().GetWidth();
// m_lastHeight = event.GetSize().GetHeight();
}
private:
int m_lastWidth,m_lastHeight;
DECLARE_DYNAMIC_CLASS(wxPseudoTransparentFrame)
DECLARE_EVENT_TABLE()
};
IMPLEMENT_DYNAMIC_CLASS(wxPseudoTransparentFrame, wxFrame)
BEGIN_EVENT_TABLE(wxPseudoTransparentFrame, wxFrame)
EVT_PAINT(wxPseudoTransparentFrame::OnPaint)
EVT_SIZE(wxPseudoTransparentFrame::OnSize)
END_EVENT_TABLE()
// ----------------------------------------------------------------------------
// wxCtrlMaskOut
// ----------------------------------------------------------------------------
wxCtrlMaskOut::wxCtrlMaskOut()
: m_defaultDir(_T("screenshots")),
m_controlName(_T("")),
m_currentRect(0, 0, 0, 0),
m_inflateBorder(5),
m_mask(NULL),
m_isTiming(false)
{
}
wxCtrlMaskOut::~wxCtrlMaskOut()
{
if (m_mask != NULL)
{
m_mask->Destroy();
m_mask = NULL;
}
}
void wxCtrlMaskOut::OnLeftButtonDown(wxMouseEvent& event)
{
if (m_isTiming) event.Skip();
// Start draging at the left-top corner.
wxWindow * thePanel = (wxWindow *)event.GetEventObject();
m_currentRect.SetPosition(thePanel->ClientToScreen(event.GetPosition()));
m_currentRect.SetSize(wxSize(1, 1));
// Create a transparent mask to visulize the process of specifying a rect region..
CreateMask(thePanel);
}
void wxCtrlMaskOut::OnMouseMoving(wxMouseEvent& event)
{
if (!event.Dragging())
{
event.Skip();
return;
}
wxWindow * thePanel = (wxWindow *)event.GetEventObject();
// Determine the current rect region
m_currentRect.SetBottomRight(thePanel->ClientToScreen(event.GetPosition()) - wxPoint(5, 5));
// /Because Mac can't get the left btn up event fired if we don't minus wxPoint(5, 5),
// /May fix it by making the panel handle this event later
// /This is the current trick
// /See also line 200 in CreateMask
// Visualize the current rect region
m_mask->SetSize(m_currentRect);
}
void wxCtrlMaskOut::OnLeftButtonUp(wxMouseEvent& event)
{
if (m_mask == NULL)// Which means it's not after specifying a rect region
{
event.Skip();
return;
}
DestroyMask();
// End dragging at the right-bottom corner.
wxWindow * thePanel = (wxWindow *)event.GetEventObject();
m_currentRect.SetRightBottom(thePanel->ClientToScreen(event.GetPosition()));
if (event.ControlDown())
{
m_isTiming = true;
(new wxTimer(this))->Start(3000, wxTIMER_ONE_SHOT);
this->Connect(wxEVT_TIMER, wxTimerEventHandler( wxCtrlMaskOut::OnTimingFinished ), NULL, this);
}
else
{
// The final rect region is determined.
DetermineCtrlNameAndRect();
Capture(m_currentRect, m_controlName);
}
}
void wxCtrlMaskOut::OnTimingFinished(wxTimerEvent& event)
{
// The final rect region is determined.
DetermineCtrlNameAndRect();
Capture(m_currentRect, m_controlName);
m_isTiming = false;
this->Disconnect(wxEVT_TIMER, wxTimerEventHandler( wxCtrlMaskOut::OnTimingFinished ), NULL, this);
}
void wxCtrlMaskOut::Capture(int x, int y, int width, int height, wxString fileName)
{
// Somehow wxScreenDC.Blit() doesn't work under Mac for now. Here is a trick.
#ifdef __WXMAC__
// wxExecute(_T("screencapture -x ") + tempfile, wxEXEC_SYNC);
system("screencapture -x /tmp/wx_screen_capture.png");
wxBitmap fullscreen;
do
{
fullscreen = wxBitmap(_T("/tmp/wx_screen_capture.png"), wxBITMAP_TYPE_PNG);
}
while(!fullscreen.IsOk());
wxBitmap screenshot = fullscreen.GetSubBitmap(wxRect(x,y,width,height));
#else // Under other paltforms, take a real screenshot
// Create a DC for the whole screen area
wxScreenDC dcScreen;
// Create a Bitmap that will later on hold the screenshot image
// Note that the Bitmap must have a size big enough to hold the screenshot
// -1 means using the current default colour depth
wxBitmap screenshot(width, height, -1);
// Create a memory DC that will be used for actually taking the screenshot
wxMemoryDC memDC;
// Tell the memory DC to use our Bitmap
// all drawing action on the memory DC will go to the Bitmap now
memDC.SelectObject(screenshot);
// Blit (in this case copy) the actual screen on the memory DC
// and thus the Bitmap
memDC.Blit( 0, // Copy to this X coordinate
0, // Copy to this Y coordinate
width, // Copy this width
height, // Copy this height
&dcScreen, // From where do we copy?
x, // What's the X offset in the original DC?
y // What's the Y offset in the original DC?
);
// Select the Bitmap out of the memory DC by selecting a new
// uninitialized Bitmap
memDC.SelectObject(wxNullBitmap);
#endif // #ifdef __WXMAC__
// Check if m_defaultDir already existed
if (!wxDirExists(m_defaultDir))
wxMkdir(m_defaultDir);
// Our Bitmap now has the screenshot, so let's save it as an png
// The filename itself is without extension.
screenshot.SaveFile(m_defaultDir + wxFileName::GetPathSeparator() +
fileName + _T(".png"), wxBITMAP_TYPE_PNG);
}
void wxCtrlMaskOut::Capture(wxRect rect, wxString fileName)
{
wxPoint origin = rect.GetPosition();
Capture(origin.x, origin.y, rect.GetWidth(), rect.GetHeight(), fileName);
}
void wxCtrlMaskOut::DetermineCtrlNameAndRect()
{
// Detect windows using (n-1)*(n-1) points
const int n = 5;
wxPoint pt0 = m_currentRect.GetPosition();
int dx = m_currentRect.GetWidth() / n;
int dy = m_currentRect.GetHeight() / n;
wxPoint pt;
wxWindow * ctrl;
wxString ctrlName;
wxRect ctrlSize;
// use a set to make sure the same control won't be inserted twice
WX_DECLARE_HASH_SET(wxWindow*, wxPointerHash, wxPointerEqual, CtrlSet);
CtrlSet ctrls;
int i, j;
for (i = 1; i <= n - 1; ++i)
{
for (j = 1; j <= n - 1; ++j)
{
pt = wxPoint(pt0.x + i * dx, pt0.y + j * dy);
ctrls.insert(wxFindWindowAtPoint(pt));
}
}
// Store the manual specified rect region, we might need it
wxRect backup = m_currentRect;
// Reset the control region and control name
m_currentRect = wxRect(0, 0, 0, 0);
m_controlName = _T("");
for (CtrlSet::iterator it = ctrls.begin(); it != ctrls.end(); ++it )
{
ctrl = *it;
if (ctrl == NULL)
// which means no control was detected.
// This seldom happens, but without dealing with it, it will CRASH the program
{
static int count = 0;
++count;
m_controlName = _T("nothing_");
m_controlName << count;
m_currentRect = backup;
return;
}
ctrlName = ctrl->GetClassInfo()->GetClassName();
if (ctrlName != _T("wxPanel")) // Avoid detecting "wxPanel", which is only the backgroud
{
// Get a rect region to contain every window detected by unioning one by one.
m_currentRect.Union(ctrl->GetScreenRect());
// Get the name of the control, cut off "wx" and change them into lowercase.
// e.g. wxButton will have a filename of "button" and be saved as "button.png"
ctrlName.StartsWith(_T("wx"), &ctrlName);
ctrlName.MakeLower();
if (m_controlName.IsEmpty() || m_controlName == ctrlName)
{
m_controlName = ctrlName;
}
else // more than one types of controls are in the region selected
{
m_controlName += _T("_");
m_controlName += ctrlName;
}
}
}
if (m_controlName.IsEmpty() && backup.GetHeight() > 15 && backup.GetWidth() > 15)
// which means no control other than the wxPanel was detected.
// if the size of the specified rect(backup) is smaller than 15x15,
// then it could be just an accident
{
static int count = 0;
++count;
m_controlName = _T("unknown_");
m_controlName << count;
m_currentRect = backup;
return;
}
// Increase its border so that it looks nicer.
m_currentRect.Inflate(m_inflateBorder);
}
void wxCtrlMaskOut::CreateMask(wxWindow* parent)
{
if (m_mask != NULL)
m_mask->Destroy();
// Make a frame to visualize the process of specifying the rect region.
#if defined(__WXMSW__) || defined(__WXGTK__)
m_mask = new wxFrame(parent, wxID_ANY, wxEmptyString,
m_currentRect.GetPosition(), m_currentRect.GetSize(),
wxFRAME_TOOL_WINDOW |
wxFRAME_FLOAT_ON_PARENT |
wxFRAME_NO_TASKBAR);
// wxNO_BORDER);
// with the border, it looks better under windows
m_mask->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_ACTIVECAPTION));
#elif defined(__WXMAC__)
// Using a miniframe with float and tool styles keeps the parent
// frame activated and highlighted as such...
m_mask = new wxMiniFrame(parent, wxID_ANY, wxEmptyString,
m_currentRect.GetPosition(), m_currentRect.GetSize(),
wxFRAME_FLOAT_ON_PARENT
| wxFRAME_TOOL_WINDOW );
// Can't set the bg colour of a Frame in wxMac
wxPanel* p = new wxPanel(m_mask);
// The default wxSYS_COLOUR_ACTIVECAPTION colour is a light silver
// color that is really hard to see, especially transparent.
// Until a better system color is decided upon we'll just use
// blue.
p->SetBackgroundColour(*wxBLUE);
// So that even if the cursor run into the mask, the events are still correctly processed.
p->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonDown ), NULL, this);
p->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonUp ), NULL, this);
p->Connect( wxEVT_MOTION, wxMouseEventHandler( wxCtrlMaskOut::OnMouseMoving ), NULL, this);
#endif
// If the platform doesn't support SetTransparent()
// we will use a dummy mask(which does and shows nothing)
// /this is the current trick, shall make it visible later
if (!m_mask->CanSetTransparent())
{
m_mask->Destroy();
m_mask = new wxPseudoTransparentFrame(parent,
wxID_ANY,
wxEmptyString,
wxDefaultPosition,
wxSize(1,1),
wxFRAME_TOOL_WINDOW |
wxFRAME_FLOAT_ON_PARENT |
wxFRAME_NO_TASKBAR
);
}
m_mask->SetTransparent(100); // Full value is 255
m_mask->Show(true);
// So that even if the cursor run into the mask, the events are still correctly processed.
m_mask->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonDown ), NULL, this);
m_mask->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonUp ), NULL, this);
m_mask->Connect( wxEVT_MOTION, wxMouseEventHandler( wxCtrlMaskOut::OnMouseMoving ), NULL, this);
}
void wxCtrlMaskOut::DestroyMask()
{
m_mask->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonDown ), NULL, this);
m_mask->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonUp ), NULL, this);
m_mask->Disconnect( wxEVT_MOTION, wxMouseEventHandler( wxCtrlMaskOut::OnMouseMoving ), NULL, this);
wxWindow * parent = m_mask->GetParent();
// m_mask->Destroy();
delete m_mask;
parent->Update();
m_mask = NULL;
}

View File

@@ -0,0 +1,58 @@
/////////////////////////////////////////////////////////////////////////////
// Name: ctrlmaskout.h
// Purpose: Defines the wxCtrlMaskOut class
// Author: Utensil Candel (UtensilCandel@@gmail.com)
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef WX_CTRL_MASK_OUT
#define WX_CTRL_MASK_OUT
#include <wx/frame.h>
// ----------------------------------------------------------------------------
// class wxCtrlMaskOut
// ----------------------------------------------------------------------------
class wxCtrlMaskOut : public wxEvtHandler
{
public:
wxCtrlMaskOut();
~wxCtrlMaskOut();
public:
void OnLeftButtonDown(wxMouseEvent& event);
void OnLeftButtonUp(wxMouseEvent& event);
void OnMouseMoving(wxMouseEvent& event);
void Capture(wxRect rect, wxString fileName);
void Capture(int x, int y, int width, int height, wxString fileName);
wxString GetDefaultDirectory(){return m_defaultDir;}
private:
// Helper functions
void CreateMask(wxWindow* parent);
void DestroyMask();
void DetermineCtrlNameAndRect();
void OnTimingFinished(wxTimerEvent& event);
// Data members
wxString m_defaultDir;
wxString m_controlName;
wxRect m_currentRect;
wxCoord m_inflateBorder;
wxFrame * m_mask;
bool m_isTiming;
};
#endif // WX_CTRL_MASK_OUT

View File

@@ -0,0 +1,191 @@
/////////////////////////////////////////////////////////////////////////////
// Name: customcombo.cpp
// Purpose: Implement some custom wxComboCtrls
// Author: Utensil Candel (UtensilCandel@@gmail.com)
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
// for all others, include the necessary headers
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#if !wxUSE_COMBOCTRL
#error "Please set wxUSE_COMBOCTRL to 1 and rebuild the library."
#endif
#include "customcombo.h"
BEGIN_EVENT_TABLE(ListViewComboPopup, wxListView)
EVT_MOTION(ListViewComboPopup::OnMouseMove)
// NOTE: Left down event is used instead of left up right now
// since MSW wxListCtrl doesn't seem to emit left ups
// consistently.
EVT_LEFT_DOWN(ListViewComboPopup::OnMouseClick)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(TreeCtrlComboPopup, wxTreeCtrl)
EVT_MOTION(TreeCtrlComboPopup::OnMouseMove)
// NOTE: Left down event is used instead of left up right now
// since MSW wxTreeCtrl doesn't seem to emit left ups
// consistently.
EVT_LEFT_DOWN(TreeCtrlComboPopup::OnMouseClick)
END_EVENT_TABLE()
// ----------------------------------------------------------------------------
// wxPenStyleComboBox
// ----------------------------------------------------------------------------
void wxPenStyleComboBox::OnDrawItem( wxDC& dc,
const wxRect& rect,
int item,
int flags ) const
{
if ( item == wxNOT_FOUND )
return;
wxRect r(rect);
r.Deflate(3);
r.height -= 2;
int penStyle = wxSOLID;
// if ( item == 1 )
// penStyle = wxTRANSPARENT;
// else if ( item == 2 )
// penStyle = wxDOT;
// else if ( item == 3 )
// penStyle = wxLONG_DASH;
// else if ( item == 4 )
// penStyle = wxSHORT_DASH;
if ( item == 0 )
penStyle = wxDOT_DASH;
else if ( item == 1 )
penStyle = wxBDIAGONAL_HATCH;
else if ( item == 2 )
penStyle = wxCROSSDIAG_HATCH;
// else if ( item == 8 )
// penStyle = wxFDIAGONAL_HATCH;
// else if ( item == 9 )
// penStyle = wxCROSS_HATCH;
// else if ( item == 10 )
// penStyle = wxHORIZONTAL_HATCH;
// else if ( item == 11 )
// penStyle = wxVERTICAL_HATCH;
wxPen pen( dc.GetTextForeground(), 3, penStyle );
// Get text colour as pen colour
dc.SetPen( pen );
if ( !(flags & wxODCB_PAINTING_CONTROL) )
{
dc.DrawText(GetString( item ),
r.x + 3,
(r.y + 0) + ( (r.height/2) - dc.GetCharHeight() )/2
);
dc.DrawLine( r.x+5, r.y+((r.height/4)*3), r.x+r.width - 5, r.y+((r.height/4)*3) );
}
else
{
dc.DrawLine( r.x+5, r.y+r.height/2, r.x+r.width - 5, r.y+r.height/2 );
}
}
void wxPenStyleComboBox::OnDrawBackground( wxDC& dc, const wxRect& rect,
int item, int flags ) const
{
// If item is selected or even, or we are painting the
// combo control itself, use the default rendering.
if ( (flags & (wxODCB_PAINTING_CONTROL|wxODCB_PAINTING_SELECTED)) ||
(item & 1) == 0 )
{
wxOwnerDrawnComboBox::OnDrawBackground(dc,rect,item,flags);
return;
}
// Otherwise, draw every other background with different colour.
wxColour bgCol(240,240,250);
dc.SetBrush(wxBrush(bgCol));
dc.SetPen(wxPen(bgCol));
dc.DrawRectangle(rect);
}
inline wxCoord wxPenStyleComboBox::OnMeasureItem( size_t item ) const
{
// Simply demonstrate the ability to have variable-height items
if ( item & 1 )
return 36;
else
return 24;
}
inline wxCoord wxPenStyleComboBox::OnMeasureItemWidth( size_t WXUNUSED(item) ) const
{
return -1; // default - will be measured from text width
}
wxPenStyleComboBox * wxPenStyleComboBox::CreateSample(wxWindow* parent)
{
wxPenStyleComboBox* odc;
// Common list of items for all dialogs.
wxArrayString arrItems;
// Create common strings array
// arrItems.Add( wxT("Solid") );
// arrItems.Add( wxT("Transparent") );
// arrItems.Add( wxT("Dot") );
// arrItems.Add( wxT("Long Dash") );
// arrItems.Add( wxT("Short Dash") );
// Comment the following since we don't need too long a drop list
arrItems.Add( wxT("Dot Dash") );
arrItems.Add( wxT("Backward Diagonal Hatch") );
arrItems.Add( wxT("Cross-diagonal Hatch") );
// arrItems.Add( wxT("Forward Diagonal Hatch") );
// arrItems.Add( wxT("Cross Hatch") );
// arrItems.Add( wxT("Horizontal Hatch") );
// arrItems.Add( wxT("Vertical Hatch") );
// When defining derivative class for callbacks, we need
// to use two-stage creation (or redefine the common wx
// constructor).
odc = new wxPenStyleComboBox();
odc->Create(parent,wxID_ANY,wxEmptyString,
wxDefaultPosition, wxDefaultSize,
arrItems,
wxCB_READONLY //wxNO_BORDER | wxCB_READONLY
);
odc->SetSelection(0);
// Load images from disk
wxImage imgNormal(wxT("dropbutn.png"));
wxImage imgPressed(wxT("dropbutp.png"));
wxImage imgHover(wxT("dropbuth.png"));
if ( imgNormal.IsOk() && imgPressed.IsOk() && imgHover.IsOk() )
{
wxBitmap bmpNormal(imgNormal);
wxBitmap bmpPressed(imgPressed);
wxBitmap bmpHover(imgHover);
odc->SetButtonBitmaps(bmpNormal,false,bmpPressed,bmpHover);
}
else
wxLogError(wxT("Dropbutton images not found"));
return odc;
}

View File

@@ -0,0 +1,248 @@
/////////////////////////////////////////////////////////////////////////////
// Name: custom_combo.h
// Purpose: Define some custom wxComboCtrls
// Author: Utensil Candel (UtensilCandel@@gmail.com)
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef WX_CUSTOM_COMBO_H
#define WX_CUSTOM_COMBO_H
// ----------------------------------------------------------------------------
// class wxPenStyleComboBox
// This class is a modified version of the one from samples/combo.cpp
// ----------------------------------------------------------------------------
#include <wx/odcombo.h>
class wxPenStyleComboBox : public wxOwnerDrawnComboBox
{
public:
virtual void OnDrawItem( wxDC& dc,
const wxRect& rect,
int item,
int flags ) const;
virtual void OnDrawBackground( wxDC& dc, const wxRect& rect,
int item, int flags ) const;
virtual wxCoord OnMeasureItem( size_t item ) const;
virtual wxCoord OnMeasureItemWidth( size_t WXUNUSED(item) ) const;
static wxPenStyleComboBox* CreateSample(wxWindow* parent);
};
// ----------------------------------------------------------------------------
// wxListView Custom popup interface
// This class is a modified version of the one from samples/combo.cpp
// ----------------------------------------------------------------------------
#include <wx/listctrl.h>
class ListViewComboPopup : public wxListView, public wxComboPopup
{
public:
virtual void Init()
{
m_value = -1;
m_itemHere = -1; // hot item in list
}
virtual bool Create( wxWindow* parent )
{
return wxListView::Create(parent,1,
wxPoint(0,0),wxDefaultSize,
wxLC_LIST|wxLC_VRULES|wxBORDER_THEME);
}
virtual wxWindow *GetControl() { return this; }
virtual void SetStringValue( const wxString& s )
{
int n = wxListView::FindItem(-1,s);
if ( n >= 0 && n < GetItemCount() )
wxListView::Select(n);
}
virtual wxString GetStringValue() const
{
if ( m_value >= 0 )
return wxListView::GetItemText(m_value);
return wxEmptyString;
}
//
// Popup event handlers
//
// Mouse hot-tracking
void OnMouseMove(wxMouseEvent& event)
{
// Move selection to cursor if it is inside the popup
int resFlags;
int itemHere = HitTest(event.GetPosition(),resFlags);
if ( itemHere >= 0 )
{
wxListView::Select(itemHere,true);
m_itemHere = itemHere;
}
event.Skip();
}
// On mouse left, set the value and close the popup
void OnMouseClick(wxMouseEvent& WXUNUSED(event))
{
m_value = m_itemHere;
// TODO: Send event
Dismiss();
}
//
// Utilies for item manipulation
//
void AddSelection( const wxString& selstr )
{
wxListView::InsertItem(GetItemCount(),selstr);
}
protected:
int m_value; // current item index
int m_itemHere; // hot item in popup
private:
DECLARE_EVENT_TABLE()
};
// ----------------------------------------------------------------------------
// wxTreeCtrl Custom popup interface
// This class is a modified version of the one from samples/combo.cpp
// ----------------------------------------------------------------------------
#include <wx/treectrl.h>
class TreeCtrlComboPopup : public wxTreeCtrl, public wxComboPopup
{
public:
virtual void Init()
{
}
virtual bool Create( wxWindow* parent )
{
return wxTreeCtrl::Create(parent,1,
wxPoint(0,0),wxDefaultSize,
wxTR_HAS_BUTTONS|wxTR_SINGLE|
wxTR_LINES_AT_ROOT|wxBORDER_THEME);
}
virtual void OnShow()
{
// make sure selected item is visible
if ( m_value.IsOk() )
EnsureVisible(m_value);
}
virtual wxSize GetAdjustedSize( int minWidth,
int WXUNUSED(prefHeight),
int maxHeight )
{
return wxSize(minWidth, wxMin(80, maxHeight));
}
virtual wxWindow *GetControl() { return this; }
// Needed by SetStringValue
wxTreeItemId FindItemByText( wxTreeItemId parent, const wxString& text )
{
wxTreeItemIdValue cookie;
wxTreeItemId child = GetFirstChild(parent,cookie);
while ( child.IsOk() )
{
if ( GetItemText(child) == text )
{
return child;
}
if ( ItemHasChildren(child) )
{
wxTreeItemId found = FindItemByText(child,text);
if ( found.IsOk() )
return found;
}
child = GetNextChild(parent,cookie);
}
return wxTreeItemId();
}
virtual void SetStringValue( const wxString& s )
{
wxTreeItemId root = GetRootItem();
if ( !root.IsOk() )
return;
wxTreeItemId found = FindItemByText(root,s);
if ( found.IsOk() )
{
m_value = m_itemHere = found;
wxTreeCtrl::SelectItem(found);
}
}
virtual wxString GetStringValue() const
{
if ( m_value.IsOk() )
return wxTreeCtrl::GetItemText(m_value);
return wxEmptyString;
}
//
// Popup event handlers
//
// Mouse hot-tracking
void OnMouseMove(wxMouseEvent& event)
{
int resFlags;
wxTreeItemId itemHere = HitTest(event.GetPosition(),resFlags);
if ( itemHere.IsOk() && (resFlags & wxTREE_HITTEST_ONITEMLABEL) )
{
wxTreeCtrl::SelectItem(itemHere,true);
m_itemHere = itemHere;
}
event.Skip();
}
// On mouse left, set the value and close the popup
void OnMouseClick(wxMouseEvent& event)
{
int resFlags;
wxTreeItemId itemHere = HitTest(event.GetPosition(),resFlags);
if ( itemHere.IsOk() && (resFlags & wxTREE_HITTEST_ONITEMLABEL) )
{
m_itemHere = itemHere;
m_value = itemHere;
Dismiss();
// TODO: Send event
}
event.Skip();
}
protected:
wxTreeItemId m_value; // current item index
wxTreeItemId m_itemHere; // hot item in popup
private:
DECLARE_EVENT_TABLE()
};
#endif // WX_CUSTOM_COMBO_H

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,452 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Apr 17 2008)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
// for all others, include the necessary headers (this file is usually all you
// need because it includes almost all "standard" wxWidgets headers)
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "guiframe.h"
///////////////////////////////////////////////////////////////////////////
GUIFrame::GUIFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
{
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
mbar = new wxMenuBar( 0 );
fileMenu = new wxMenu();
wxMenuItem* m_menuSeeScr;
m_menuSeeScr = new wxMenuItem( fileMenu, idMenuOpen, wxString( _("See Screenshots") ) + wxT('\t') + wxT("Ctrl+O"), _("Open the directory where the screenshots generated."), wxITEM_NORMAL );
fileMenu->Append( m_menuSeeScr );
wxMenuItem* m_menuFileQuit;
m_menuFileQuit = new wxMenuItem( fileMenu, idMenuQuit, wxString( _("&Quit") ) + wxT('\t') + wxT("Alt+F4"), _("Quit the application"), wxITEM_NORMAL );
fileMenu->Append( m_menuFileQuit );
mbar->Append( fileMenu, _("&File") );
captureMenu = new wxMenu();
wxMenuItem* m_menuCapFullScreen;
m_menuCapFullScreen = new wxMenuItem( captureMenu, idMenuCapFullScreen, wxString( _("&Full Screen") ) + wxT('\t') + wxT("Ctrl+Alt+F"), _("Can screenshot be taken properly?"), wxITEM_NORMAL );
captureMenu->Append( m_menuCapFullScreen );
wxMenuItem* m_menuCapRect;
m_menuCapRect = new wxMenuItem( captureMenu, idMenuCapRect, wxString( _("Regions<Begin>") ) + wxT('\t') + wxT("Ctrl+Alt+R"), _("Manually specify rectangular regions"), wxITEM_NORMAL );
captureMenu->Append( m_menuCapRect );
wxMenuItem* m_menuEndCapRect;
m_menuEndCapRect = new wxMenuItem( captureMenu, idMenuEndCapRect, wxString( _("Regions<End>") ) + wxT('\t') + wxT("Ctrl+Alt+E"), _("Stop generating screenshots..."), wxITEM_NORMAL );
captureMenu->Append( m_menuEndCapRect );
m_menuEndCapRect->Enable( false );
wxMenuItem* m_menuCapAll;
m_menuCapAll = new wxMenuItem( captureMenu, idMenuCapAll, wxString( _("Capture All") ) + wxT('\t') + wxT("Ctrl+Alt+A"), _("Take screenshot for all controls autoly."), wxITEM_NORMAL );
captureMenu->Append( m_menuCapAll );
mbar->Append( captureMenu, _("&Capture") );
helpMenu = new wxMenu();
wxMenuItem* m_menuHelpAbout;
m_menuHelpAbout = new wxMenuItem( helpMenu, idMenuAbout, wxString( _("&About") ) + wxT('\t') + wxT("F1"), _("Show info about this application"), wxITEM_NORMAL );
helpMenu->Append( m_menuHelpAbout );
mbar->Append( helpMenu, _("&Help") );
this->SetMenuBar( mbar );
wxBoxSizer* bSizer0;
bSizer0 = new wxBoxSizer( wxVERTICAL );
m_notebook1 = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
m_panel1 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxFlexGridSizer* fgSizer1;
fgSizer1 = new wxFlexGridSizer( 5, 2, 0, 0 );
fgSizer1->SetFlexibleDirection( wxBOTH );
fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_NONE );
m_button1 = new wxButton( m_panel1, wxID_ANY, _("wxButton"), wxDefaultPosition, wxDefaultSize, 0 );
fgSizer1->Add( m_button1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_staticText1 = new wxStaticText( m_panel1, wxID_ANY, _("wxStaticText"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText1->Wrap( -1 );
fgSizer1->Add( m_staticText1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_checkBox1 = new wxCheckBox( m_panel1, wxID_ANY, _("Checked"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkBox1->SetValue(true);
m_checkBox1->SetToolTip( _("wxCheckBox") );
fgSizer1->Add( m_checkBox1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_checkBox2 = new wxCheckBox( m_panel1, wxID_ANY, _("Not checked"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkBox2->SetToolTip( _("wxCheckBox") );
fgSizer1->Add( m_checkBox2, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 20 );
m_radioBtn1 = new wxRadioButton( m_panel1, wxID_ANY, _("Chosen"), wxDefaultPosition, wxDefaultSize, 0 );
m_radioBtn1->SetValue( true );
m_radioBtn1->SetToolTip( _("wxRadioButton") );
fgSizer1->Add( m_radioBtn1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_radioBtn2 = new wxRadioButton( m_panel1, wxID_ANY, _("Not chosen"), wxDefaultPosition, wxDefaultSize, 0 );
m_radioBtn2->SetToolTip( _("wxRadioButton") );
fgSizer1->Add( m_radioBtn2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_bpButton1 = new wxBitmapButton( m_panel1, wxID_ANY, wxBitmap( wxT("wxwin32x32.png"), wxBITMAP_TYPE_ANY ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
m_bpButton1->SetToolTip( _("wxBitmapButton") );
m_bpButton1->SetToolTip( _("wxBitmapButton") );
fgSizer1->Add( m_bpButton1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_bitmap1 = new wxStaticBitmap( m_panel1, wxID_ANY, wxBitmap( wxT("wxwin32x32.png"), wxBITMAP_TYPE_ANY ), wxDefaultPosition, wxDefaultSize, 0 );
m_bitmap1->SetToolTip( _("wxStaticBitmap") );
fgSizer1->Add( m_bitmap1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_gauge1 = new wxGauge( m_panel1, wxID_ANY, 100, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL, wxDefaultValidator, wxT("_Gauge") );
m_gauge1->SetValue( 50 );
m_gauge1->SetToolTip( _("wxGauge") );
fgSizer1->Add( m_gauge1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 20 );
m_slider1 = new wxSlider( m_panel1, wxID_ANY, 50, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL );
m_slider1->SetToolTip( _("wxSlider") );
fgSizer1->Add( m_slider1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 20 );
m_toggleBtn1 = new wxToggleButton( m_panel1, wxID_ANY, _("Not Toggled"), wxDefaultPosition, wxDefaultSize, 0 );
m_toggleBtn1->SetToolTip( _("wxToggleButton") );
fgSizer1->Add( m_toggleBtn1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_toggleBtn2 = new wxToggleButton( m_panel1, wxID_ANY, _("Toggled"), wxDefaultPosition, wxDefaultSize, 0 );
m_toggleBtn2->SetValue( true );
m_toggleBtn2->SetToolTip( _("wxToggleButton") );
fgSizer1->Add( m_toggleBtn2, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 20 );
m_hyperlink1 = new wxHyperlinkCtrl( m_panel1, wxID_ANY, _("www.wxWidgets.org"), wxT("http://www.wxWidgets.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
m_hyperlink1->SetToolTip( _("wxHyperlinkCtrl") );
fgSizer1->Add( m_hyperlink1, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 20 );
m_spinCtrl1 = new wxSpinCtrl( m_panel1, wxID_ANY, wxT("5"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10, 0 );
m_spinCtrl1->SetToolTip( _("wxSpinCtrl") );
fgSizer1->Add( m_spinCtrl1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_spinBtn1 = new wxSpinButton( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
m_spinBtn1->SetToolTip( _("wxSpinButton") );
fgSizer1->Add( m_spinBtn1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_scrollBar1 = new wxScrollBar( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL );
m_scrollBar1->SetToolTip( _("wxScrollBar") );
fgSizer1->Add( m_scrollBar1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 20 );
m_panel1->SetSizer( fgSizer1 );
m_panel1->Layout();
fgSizer1->Fit( m_panel1 );
m_notebook1->AddPage( m_panel1, _("Tiny Controls"), true );
m_panel2 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxFlexGridSizer* fgSizer2;
fgSizer2 = new wxFlexGridSizer( 5, 2, 0, 0 );
fgSizer2->SetFlexibleDirection( wxBOTH );
fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
wxString m_checkList1Choices[] = { _("wxCheckListBox"), _("Item1"), _("Item2") };
int m_checkList1NChoices = sizeof( m_checkList1Choices ) / sizeof( wxString );
m_checkList1 = new wxCheckListBox( m_panel2, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_checkList1NChoices, m_checkList1Choices, 0 );
fgSizer2->Add( m_checkList1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_listBox1 = new wxListBox( m_panel2, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
m_listBox1->Append( _("wxListBox") );
m_listBox1->Append( _("Item1") );
m_listBox1->Append( _("Item2") );
fgSizer2->Add( m_listBox1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
wxString m_radioBox1Choices[] = { _("Item1"), _("Item2") };
int m_radioBox1NChoices = sizeof( m_radioBox1Choices ) / sizeof( wxString );
m_radioBox1 = new wxRadioBox( m_panel2, wxID_ANY, _("wxRadioBox"), wxDefaultPosition, wxDefaultSize, m_radioBox1NChoices, m_radioBox1Choices, 1, wxRA_SPECIFY_COLS );
m_radioBox1->SetSelection( 0 );
fgSizer2->Add( m_radioBox1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_staticBox1 = new wxStaticBox(m_panel2,wxID_ANY, _("wxStaticBox"), wxDefaultPosition, wxDefaultSize, 0, _("_StaticBox"));
fgSizer2->Add( m_staticBox1, 1, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 20 );
m_treeCtrl1 = new wxTreeCtrl( m_panel2, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE );
fgSizer2->Add( m_treeCtrl1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_listCtrl1 = new wxListCtrl( m_panel2, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
m_listCtrl1->SetToolTip( _("wxListCtrl") );
fgSizer2->Add( m_listCtrl1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 20 );
m_animationCtrl1 = new wxAnimationCtrl(m_panel2, wxID_ANY);
m_animationCtrl1->SetToolTip(_("wxAnimationCtrl"));
if (m_animationCtrl1->LoadFile(wxT("throbber.gif")))
m_animationCtrl1->Play();
fgSizer2->Add( m_animationCtrl1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_collPane1 = new wxCollapsiblePane(m_panel2, -1, wxT("Collapsed"));
wxWindow *win = m_collPane1->GetPane();
m_collPane1->SetToolTip(_("wxCollapsiblePane"));
wxBoxSizer * collbSizer = new wxBoxSizer(wxVERTICAL);
wxStaticText* m_collSText = new wxStaticText(win, -1, wxT("You can place"));
wxButton* m_collBut = new wxButton(win, -1, wxT("anything"));
wxTextCtrl* m_collText = new wxTextCtrl(win, -1, wxT("inside a wxCollapsiblePane"));
collbSizer->Add( m_collSText, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0 );
collbSizer->Add( m_collBut, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0 );
collbSizer->Add( m_collText, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0 );
win->SetSizer(collbSizer);
fgSizer2->Add( m_collPane1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
m_collPane2 = new wxCollapsiblePane(m_panel2, -1, wxT("Expanded"));
wxWindow *win2 = m_collPane2->GetPane();
m_collPane2->SetToolTip(_("wxCollapsiblePane"));
wxBoxSizer * collbSizer2 = new wxBoxSizer(wxVERTICAL);
wxStaticText* m_collSText2 = new wxStaticText(win2, -1, wxT("You can place"));
wxButton* m_collBut2 = new wxButton(win2, -1, wxT("anything"));
wxTextCtrl* m_collText2 = new wxTextCtrl(win2, -1, wxT("inside a wxCollapsiblePane"));
collbSizer2->Add( m_collSText2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0 );
collbSizer2->Add( m_collBut2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0 );
collbSizer2->Add( m_collText2, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0 );
win2->SetSizer(collbSizer2);
m_collPane2->Expand();
fgSizer2->Add( m_collPane2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
m_panel2->SetSizer( fgSizer2 );
m_panel2->Layout();
fgSizer2->Fit( m_panel2 );
m_notebook1->AddPage( m_panel2, _("Choosing Controls"), false );
m_panel3 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxBoxSizer* bSizer2;
bSizer2 = new wxBoxSizer( wxVERTICAL );
m_textCtrl1 = new wxTextCtrl( m_panel3, wxID_ANY, _("Single-line"), wxDefaultPosition, wxDefaultSize, 0 );
m_textCtrl1->SetToolTip( _("wxTextCtrl") );
bSizer2->Add( m_textCtrl1, 0, wxTOP|wxRIGHT|wxLEFT, 20 );
bSizer2->Add( 0, 10, 0, 0, 5 );
m_textCtrl2 = new wxTextCtrl( m_panel3, wxID_ANY, _("Multi-line\nLine1\nLine2\n"), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
m_textCtrl2->SetToolTip( _("wxTextCtrl") );
bSizer2->Add( m_textCtrl2, 0, wxBOTTOM|wxRIGHT|wxLEFT, 20 );
m_richText1 = new wxRichTextCtrl( m_panel3, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), 0|wxVSCROLL|wxHSCROLL|wxNO_BORDER|wxWANTS_CHARS );
m_richText1->SetToolTip( _("wxRichTextCtrl") );
m_richText1->SetMinSize( wxSize( 200,200 ) );
bSizer2->Add( m_richText1, 0, wxALL, 20 );
m_panel3->SetSizer( bSizer2 );
m_panel3->Layout();
bSizer2->Fit( m_panel3 );
m_notebook1->AddPage( m_panel3, _("Text Richtext"), false );
m_panel4 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxFlexGridSizer* fgSizer5;
fgSizer5 = new wxFlexGridSizer( 2, 2, 10, 10 );
fgSizer5->SetFlexibleDirection( wxBOTH );
fgSizer5->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_colourPicker1 = new wxColourPickerCtrl( m_panel4, wxID_ANY, *wxBLACK, wxDefaultPosition, wxDefaultSize, wxCLRP_DEFAULT_STYLE );
m_colourPicker1->SetToolTip( _("wxColourPickerCtrl") );
fgSizer5->Add( m_colourPicker1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_fontPicker1 = new wxFontPickerCtrl( m_panel4, wxID_ANY, wxNullFont, wxDefaultPosition, wxDefaultSize, wxFNTP_DEFAULT_STYLE );
m_fontPicker1->SetMaxPointSize( 100 );
m_fontPicker1->SetToolTip( _("wxFontPickerCtrl") );
fgSizer5->Add( m_fontPicker1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_filePicker1 = new wxFilePickerCtrl( m_panel4, wxID_ANY, wxEmptyString, _("Select a file"), wxT("*.*"), wxDefaultPosition, wxDefaultSize, wxFLP_DEFAULT_STYLE, wxDefaultValidator, wxT("_FilePickerCtrl") );
m_filePicker1->SetToolTip( _("wxFilePickerCtrl") );
fgSizer5->Add( m_filePicker1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 );
m_calendar1 = new wxCalendarCtrl( m_panel4, wxID_ANY, wxDefaultDateTime, wxDefaultPosition, wxDefaultSize, wxCAL_SHOW_HOLIDAYS );
m_calendar1->SetToolTip( _("wxCalendarCtrl") );
fgSizer5->Add( m_calendar1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_datePicker1 = new wxDatePickerCtrl( m_panel4, wxID_ANY, wxDefaultDateTime, wxDefaultPosition, wxDefaultSize, wxDP_DEFAULT );
m_datePicker1->SetToolTip( _("wxDatePickerCtrl") );
fgSizer5->Add( m_datePicker1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_genericDirCtrl1 = new wxGenericDirCtrl( m_panel4, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDIRCTRL_3D_INTERNAL|wxSUNKEN_BORDER, wxEmptyString, 0, wxT("_GenericDirCtrl") );
m_genericDirCtrl1->ShowHidden( false );
m_genericDirCtrl1->SetToolTip( _("wxGenericDirCtrl") );
m_genericDirCtrl1->SetMinSize( wxSize( -1,150 ) );
fgSizer5->Add( m_genericDirCtrl1, 1, wxEXPAND|wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_dirPicker1 = new wxDirPickerCtrl( m_panel4, wxID_ANY, wxEmptyString, _("Select a folder"), wxDefaultPosition, wxDefaultSize, wxDIRP_DEFAULT_STYLE, wxDefaultValidator, wxT("_DirPickerCtrl") );
m_dirPicker1->SetToolTip( _("wxDirPickerCtrl") );
fgSizer5->Add( m_dirPicker1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_panel4->SetSizer( fgSizer5 );
m_panel4->Layout();
fgSizer5->Fit( m_panel4 );
m_notebook1->AddPage( m_panel4, _("Picker Controls"), false );
m_panel5 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxFlexGridSizer* fgSizer4;
fgSizer4 = new wxFlexGridSizer( 2, 2, 0, 0 );
fgSizer4->SetFlexibleDirection( wxBOTH );
fgSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
wxString m_choice1Choices[] = { _("wxChoice"), _("Item1"), _("Item2"), _("Item3"), _("Item4") };
int m_choice1NChoices = sizeof( m_choice1Choices ) / sizeof( wxString );
m_choice1 = new wxChoice( m_panel5, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choice1NChoices, m_choice1Choices, 0 );
m_choice1->SetSelection( 0 );
fgSizer4->Add( m_choice1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
m_comboBox1 = new wxComboBox( m_panel5, wxID_ANY, _("wxComboBox"), wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
m_comboBox1->Append( _("wxComboBox") );
m_comboBox1->Append( _("Item1") );
m_comboBox1->Append( _("Item2") );
m_comboBox1->Append( _("Item3") );
m_comboBox1->Append( _("Item4") );
fgSizer4->Add( m_comboBox1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
fgSizer4->Add( 0, 120, 1, wxEXPAND, 5 );
fgSizer4->Add( 0, 120, 1, wxEXPAND, 5 );
m_bmpComboBox1 = new wxBitmapComboBox(m_panel5, wxID_ANY,_("Item1"));
m_bmpComboBox1->Append(_("Item1"), wxBitmap(_T("bell.png"),wxBITMAP_TYPE_PNG));
m_bmpComboBox1->Append(_("Item2"), wxBitmap(_T("sound.png"),wxBITMAP_TYPE_PNG));
m_bmpComboBox1->Append(_("Item3"), wxBitmap(_T("bell.png"),wxBITMAP_TYPE_PNG));
m_bmpComboBox1->Append(_("Item4"), wxBitmap(_T("sound.png"),wxBITMAP_TYPE_PNG));
m_bmpComboBox1->SetToolTip(_("wxBitmapComboBox"));
fgSizer4->Add( m_bmpComboBox1, 1, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 20 );
m_ownerDrawnComboBox1 = wxPenStyleComboBox::CreateSample(m_panel5);
m_ownerDrawnComboBox1->SetToolTip(_("wxOwnerDrawnComboBox"));
fgSizer4->Add( m_ownerDrawnComboBox1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 20 );
fgSizer4->Add( 0, 90, 1, wxEXPAND, 5 );
fgSizer4->Add( 0, 90, 1, wxEXPAND, 5 );
m_comboCtrl1 = new wxComboCtrl(m_panel5,wxID_ANY,wxEmptyString);
m_comboCtrl1->SetText(wxT("wxComboCtrl"));
m_comboCtrl1->SetToolTip(_("wxComboCtrl"));
ListViewComboPopup* popupList = new ListViewComboPopup();
m_comboCtrl1->SetPopupControl(popupList);
m_comboCtrl1->SetPopupMaxHeight(80);
// Populate using wxListView methods
popupList->InsertItem(popupList->GetItemCount(),wxT("wxComboCtrl"));
popupList->InsertItem(popupList->GetItemCount(),wxT("with"));
popupList->InsertItem(popupList->GetItemCount(),wxT("wxListView"));
popupList->InsertItem(popupList->GetItemCount(),wxT("popup"));
popupList->InsertItem(popupList->GetItemCount(),wxT("Item1"));
popupList->InsertItem(popupList->GetItemCount(),wxT("Item2"));
popupList->InsertItem(popupList->GetItemCount(),wxT("Item3"));
popupList->Select(0, true);
fgSizer4->Add( m_comboCtrl1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 20 );
m_comboCtrl2 = new wxComboCtrl(m_panel5,wxID_ANY,wxEmptyString);
m_comboCtrl2->SetText(wxT("wxComboCtrl"));
m_comboCtrl2->SetToolTip(_("wxComboCtrl"));
TreeCtrlComboPopup* popupTree = new TreeCtrlComboPopup();
m_comboCtrl2->SetPopupControl(popupTree);
m_comboCtrl2->SetPopupMaxHeight(80);
//Add a root and some nodes using wxTreeCtrl methods
wxTreeItemId root = popupTree->AddRoot(_("wxComboCtrl"));
popupTree->AppendItem(root, _("with"));
popupTree->AppendItem(root, _("wxTreeCtrl"));
wxTreeItemId node2 = popupTree->AppendItem(root, _("popout"));
popupTree->AppendItem(node2, _("Node1"));
popupTree->AppendItem(node2, _("Node2"));
popupTree->ExpandAll();
fgSizer4->Add( m_comboCtrl2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 20 );
m_panel5->SetSizer( fgSizer4 );
m_panel5->Layout();
fgSizer4->Fit( m_panel5 );
m_notebook1->AddPage( m_panel5, _("Drop Down Controls"), false );
bSizer0->Add( m_notebook1, 1, wxEXPAND | wxALL, 0 );
this->SetSizer( bSizer0 );
this->Layout();
bSizer0->Fit( this );
statusBar = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY );
// Connect Events
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIFrame::OnClose ) );
this->Connect( m_menuSeeScr->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnSeeScreenshots ) );
this->Connect( m_menuFileQuit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnQuit ) );
this->Connect( m_menuCapFullScreen->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnCaptureFullScreen ) );
this->Connect( m_menuCapRect->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnCaptureRect ) );
this->Connect( m_menuEndCapRect->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnEndCaptureRect ) );
this->Connect( m_menuCapAll->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnCaptureAllControls ) );
this->Connect( m_menuHelpAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnAbout ) );
m_notebook1->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( GUIFrame::OnNotebookPageChanged ), NULL, this );
m_notebook1->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, wxNotebookEventHandler( GUIFrame::OnNotebookPageChanging ), NULL, this );
}
GUIFrame::~GUIFrame()
{
// Disconnect Events
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GUIFrame::OnClose ) );
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnSeeScreenshots ) );
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnQuit ) );
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnCaptureFullScreen ) );
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnCaptureRect ) );
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnEndCaptureRect ) );
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnCaptureAllControls ) );
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnAbout ) );
m_notebook1->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( GUIFrame::OnNotebookPageChanged ), NULL, this );
m_notebook1->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, wxNotebookEventHandler( GUIFrame::OnNotebookPageChanging ), NULL, this );
}

View File

@@ -0,0 +1,161 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Apr 17 2008)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#ifndef __guiframe__
#define __guiframe__
#include <wx/intl.h>
#include <wx/string.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/menu.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/button.h>
#include <wx/stattext.h>
#include <wx/checkbox.h>
#include <wx/radiobut.h>
#include <wx/bmpbuttn.h>
#include <wx/statbmp.h>
#include <wx/gauge.h>
#include <wx/slider.h>
#include <wx/tglbtn.h>
#include <wx/hyperlink.h>
#include <wx/spinctrl.h>
#include <wx/spinbutt.h>
#include <wx/scrolbar.h>
#include <wx/sizer.h>
#include <wx/panel.h>
#include <wx/checklst.h>
#include <wx/listbox.h>
#include <wx/radiobox.h>
#include <wx/statbox.h>
#include <wx/treectrl.h>
#include <wx/listctrl.h>
#include "wx/animate.h"
#include "wx/collpane.h"
#include <wx/textctrl.h>
#include <wx/richtext/richtextctrl.h>
#include <wx/clrpicker.h>
#include <wx/fontpicker.h>
#include <wx/filepicker.h>
#include <wx/calctrl.h>
#include <wx/datectrl.h>
#include <wx/dateevt.h>
#include <wx/dirctrl.h>
#include <wx/choice.h>
#include <wx/combobox.h>
#include <wx/bmpcbox.h>
#include "customcombo.h"
#include <wx/notebook.h>
#include <wx/statusbr.h>
#include <wx/frame.h>
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/// Class GUIFrame
///////////////////////////////////////////////////////////////////////////////
class GUIFrame : public wxFrame
{
private:
protected:
enum
{
idMenuOpen = 1000,
idMenuQuit,
idMenuCapFullScreen,
idMenuCapRect,
idMenuEndCapRect,
idMenuCapAll,
idMenuAbout,
};
wxMenuBar* mbar;
wxMenu* fileMenu;
wxMenu* captureMenu;
wxMenu* helpMenu;
wxNotebook* m_notebook1;
wxPanel* m_panel1;
wxButton* m_button1;
wxStaticText* m_staticText1;
wxCheckBox* m_checkBox1;
wxCheckBox* m_checkBox2;
wxRadioButton* m_radioBtn1;
wxRadioButton* m_radioBtn2;
wxBitmapButton* m_bpButton1;
wxStaticBitmap* m_bitmap1;
wxGauge* m_gauge1;
wxSlider* m_slider1;
wxToggleButton* m_toggleBtn1;
wxToggleButton* m_toggleBtn2;
wxHyperlinkCtrl* m_hyperlink1;
wxSpinCtrl* m_spinCtrl1;
wxSpinButton* m_spinBtn1;
wxScrollBar* m_scrollBar1;
wxPanel* m_panel2;
wxCheckListBox* m_checkList1;
wxListBox* m_listBox1;
wxRadioBox* m_radioBox1;
wxStaticBox * m_staticBox1;
wxTreeCtrl* m_treeCtrl1;
wxListCtrl* m_listCtrl1;
wxAnimationCtrl * m_animationCtrl1;
wxCollapsiblePane *m_collPane1;
wxCollapsiblePane *m_collPane2;
wxPanel* m_panel3;
wxTextCtrl* m_textCtrl1;
wxTextCtrl* m_textCtrl2;
wxRichTextCtrl* m_richText1;
wxPanel* m_panel4;
wxColourPickerCtrl* m_colourPicker1;
wxFontPickerCtrl* m_fontPicker1;
wxFilePickerCtrl* m_filePicker1;
wxCalendarCtrl* m_calendar1;
wxDatePickerCtrl* m_datePicker1;
wxGenericDirCtrl* m_genericDirCtrl1;
wxDirPickerCtrl* m_dirPicker1;
wxPanel* m_panel5;
wxChoice* m_choice1;
wxComboBox* m_comboBox1;
wxBitmapComboBox * m_bmpComboBox1;
wxPenStyleComboBox * m_ownerDrawnComboBox1;
wxComboCtrl * m_comboCtrl1;
wxComboCtrl * m_comboCtrl2;
wxStatusBar* statusBar;
// Virtual event handlers, overide them in your derived class
virtual void OnClose( wxCloseEvent& event ){ event.Skip(); }
virtual void OnSeeScreenshots( wxCommandEvent& event ){ event.Skip(); }
virtual void OnQuit( wxCommandEvent& event ){ event.Skip(); }
virtual void OnCaptureFullScreen( wxCommandEvent& event ){ event.Skip(); }
virtual void OnCaptureRect( wxCommandEvent& event ){ event.Skip(); }
virtual void OnEndCaptureRect( wxCommandEvent& event ){ event.Skip(); }
virtual void OnCaptureAllControls( wxCommandEvent& event ){ event.Skip(); }
virtual void OnAbout( wxCommandEvent& event ){ event.Skip(); }
virtual void OnNotebookPageChanged( wxNotebookEvent& event ){ event.Skip(); }
virtual void OnNotebookPageChanging( wxNotebookEvent& event ){ event.Skip(); }
public:
GUIFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("wxWidgets Control Screenshot Generator"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
~GUIFrame();
};
#endif //__guiframe__

View File

@@ -0,0 +1,285 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.4 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
.autodepend
!ifndef BCCDIR
!ifndef MAKEDIR
!error Your Borland compiler does not define MAKEDIR. Please define the BCCDIR variable, e.g. BCCDIR=d:\bc4
!endif
BCCDIR = $(MAKEDIR)\..
!endif
!include ../../../build/msw/config.bcc
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
WX_RELEASE_NODOT = 29
COMPILER_PREFIX = bcc
OBJS = \
$(COMPILER_PREFIX)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
LIBDIRNAME = .\..\..\..\lib\$(COMPILER_PREFIX)_$(LIBTYPE_SUFFIX)$(CFG)
SETUPHDIR = \
$(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
SCREENSHOTGEN_CXXFLAGS = $(__RUNTIME_LIBS_7) -I$(BCCDIR)\include \
$(__DEBUGINFO) $(__OPTIMIZEFLAG_2) $(__THREADSFLAG_6) -D__WXMSW__ \
$(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) \
$(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) \
$(__MSLU_DEFINE_p) $(__GFXCTX_DEFINE_p) -I$(SETUPHDIR) -I.\..\..\..\include \
-I. $(__DLLFLAG_p) -I.\..\..\..\samples -DNOPCH $(CPPFLAGS) $(CXXFLAGS)
SCREENSHOTGEN_OBJECTS = \
$(OBJS)\screenshotgen_screenshot_app.obj \
$(OBJS)\screenshotgen_screenshot_main.obj \
$(OBJS)\screenshotgen_guiframe.obj \
$(OBJS)\screenshotgen_ctrlmaskout.obj \
$(OBJS)\screenshotgen_customcombo.obj \
$(OBJS)\screenshotgen_autocapture.obj
### Conditionally set variables: ###
!if "$(USE_GUI)" == "0"
PORTNAME = base
!endif
!if "$(USE_GUI)" == "1"
PORTNAME = msw
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
WXDEBUGFLAG = d
!endif
!if "$(DEBUG_FLAG)" == "1"
WXDEBUGFLAG = d
!endif
!if "$(UNICODE)" == "1"
WXUNICODEFLAG = u
!endif
!if "$(WXUNIV)" == "1"
WXUNIVNAME = univ
!endif
!if "$(SHARED)" == "1"
WXDLLFLAG = dll
!endif
!if "$(SHARED)" == "0"
LIBTYPE_SUFFIX = lib
!endif
!if "$(SHARED)" == "1"
LIBTYPE_SUFFIX = dll
!endif
!if "$(MONOLITHIC)" == "0"
EXTRALIBS_FOR_BASE =
!endif
!if "$(MONOLITHIC)" == "1"
EXTRALIBS_FOR_BASE =
!endif
!if "$(BUILD)" == "debug"
__OPTIMIZEFLAG_2 = -Od
!endif
!if "$(BUILD)" == "release"
__OPTIMIZEFLAG_2 = -O2
!endif
!if "$(USE_THREADS)" == "0"
__THREADSFLAG_5 =
!endif
!if "$(USE_THREADS)" == "1"
__THREADSFLAG_5 = mt
!endif
!if "$(USE_THREADS)" == "0"
__THREADSFLAG_6 =
!endif
!if "$(USE_THREADS)" == "1"
__THREADSFLAG_6 = -tWM
!endif
!if "$(RUNTIME_LIBS)" == "dynamic"
__RUNTIME_LIBS_7 = -tWR
!endif
!if "$(RUNTIME_LIBS)" == "static"
__RUNTIME_LIBS_7 =
!endif
!if "$(RUNTIME_LIBS)" == "dynamic"
__RUNTIME_LIBS_8 = i
!endif
!if "$(RUNTIME_LIBS)" == "static"
__RUNTIME_LIBS_8 =
!endif
!if "$(WXUNIV)" == "1"
__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
!endif
!if "$(WXUNIV)" == "1"
__WXUNIV_DEFINE_p_1 = -d__WXUNIVERSAL__
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
__DEBUG_DEFINE_p = -D__WXDEBUG__
!endif
!if "$(DEBUG_FLAG)" == "1"
__DEBUG_DEFINE_p = -D__WXDEBUG__
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
__DEBUG_DEFINE_p_1 = -d__WXDEBUG__
!endif
!if "$(DEBUG_FLAG)" == "1"
__DEBUG_DEFINE_p_1 = -d__WXDEBUG__
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONS_DEFINE_p_1 = -dwxNO_EXCEPTIONS
!endif
!if "$(USE_RTTI)" == "0"
__RTTI_DEFINE_p = -DwxNO_RTTI
!endif
!if "$(USE_RTTI)" == "0"
__RTTI_DEFINE_p_1 = -dwxNO_RTTI
!endif
!if "$(USE_THREADS)" == "0"
__THREAD_DEFINE_p = -DwxNO_THREADS
!endif
!if "$(USE_THREADS)" == "0"
__THREAD_DEFINE_p_1 = -dwxNO_THREADS
!endif
!if "$(UNICODE)" == "0"
__UNICODE_DEFINE_p = -DwxUSE_UNICODE=0
!endif
!if "$(UNICODE)" == "1"
__UNICODE_DEFINE_p = -D_UNICODE
!endif
!if "$(UNICODE)" == "0"
__UNICODE_DEFINE_p_1 = -dwxUSE_UNICODE=0
!endif
!if "$(UNICODE)" == "1"
__UNICODE_DEFINE_p_1 = -d_UNICODE
!endif
!if "$(MSLU)" == "1"
__MSLU_DEFINE_p = -DwxUSE_UNICODE_MSLU=1
!endif
!if "$(MSLU)" == "1"
__MSLU_DEFINE_p_1 = -dwxUSE_UNICODE_MSLU=1
!endif
!if "$(USE_GDIPLUS)" == "1"
__GFXCTX_DEFINE_p = -DwxUSE_GRAPHICS_CONTEXT=1
!endif
!if "$(USE_GDIPLUS)" == "1"
__GFXCTX_DEFINE_p_1 = -dwxUSE_GRAPHICS_CONTEXT=1
!endif
!if "$(SHARED)" == "1"
__DLLFLAG_p = -DWXUSINGDLL
!endif
!if "$(SHARED)" == "1"
__DLLFLAG_p_1 = -dWXUSINGDLL
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_AUI_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_ADV_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_RICHTEXT_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_HTML_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_XML_p = \
wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_CORE_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_BASE_p = \
wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
!if "$(MONOLITHIC)" == "1"
__WXLIB_MONO_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
!endif
!if "$(MSLU)" == "1"
__UNICOWS_LIB_p = unicows.lib
!endif
!if "$(USE_GDIPLUS)" == "1"
__GDIPLUS_LIB_p = gdiplus.lib
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO = -v
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO = -v-
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO = -v-
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO = -v
!endif
all: $(OBJS)
$(OBJS):
-if not exist $(OBJS) mkdir $(OBJS)
### Targets: ###
all: $(OBJS)\screenshotgen.exe data
clean:
-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
-if exist $(OBJS)\*.res del $(OBJS)\*.res
-if exist $(OBJS)\*.csm del $(OBJS)\*.csm
-if exist $(OBJS)\screenshotgen.exe del $(OBJS)\screenshotgen.exe
-if exist $(OBJS)\screenshotgen.tds del $(OBJS)\screenshotgen.tds
-if exist $(OBJS)\screenshotgen.ilc del $(OBJS)\screenshotgen.ilc
-if exist $(OBJS)\screenshotgen.ild del $(OBJS)\screenshotgen.ild
-if exist $(OBJS)\screenshotgen.ilf del $(OBJS)\screenshotgen.ilf
-if exist $(OBJS)\screenshotgen.ils del $(OBJS)\screenshotgen.ils
$(OBJS)\screenshotgen.exe: $(SCREENSHOTGEN_OBJECTS) $(OBJS)\screenshotgen_screenshotgen.res
ilink32 -Tpe -q -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO) -L$(LIBDIRNAME) -aa $(LDFLAGS) @&&|
c0w32.obj $(SCREENSHOTGEN_OBJECTS),$@,, $(__WXLIB_AUI_p) $(__WXLIB_ADV_p) $(__WXLIB_RICHTEXT_p) $(__WXLIB_HTML_p) $(__WXLIB_XML_p) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib import32.lib cw32$(__THREADSFLAG_5)$(__RUNTIME_LIBS_8).lib,, $(OBJS)\screenshotgen_screenshotgen.res
|
data:
if not exist $(OBJS) mkdir $(OBJS)
for %f in (richtext.xml bitmaps/wxwin32x32.png bitmaps/bell.png bitmaps/info.png bitmaps/sound.png bitmaps/dropbuth.png bitmaps/dropbutn.png bitmaps/dropbutp.png bitmaps/throbber.gif) do if not exist $(OBJS)\%f copy .\%f $(OBJS)
$(OBJS)\screenshotgen_screenshot_app.obj: .\screenshot_app.cpp
$(CXX) -q -c -P -o$@ $(SCREENSHOTGEN_CXXFLAGS) .\screenshot_app.cpp
$(OBJS)\screenshotgen_screenshot_main.obj: .\screenshot_main.cpp
$(CXX) -q -c -P -o$@ $(SCREENSHOTGEN_CXXFLAGS) .\screenshot_main.cpp
$(OBJS)\screenshotgen_guiframe.obj: .\guiframe.cpp
$(CXX) -q -c -P -o$@ $(SCREENSHOTGEN_CXXFLAGS) .\guiframe.cpp
$(OBJS)\screenshotgen_ctrlmaskout.obj: .\ctrlmaskout.cpp
$(CXX) -q -c -P -o$@ $(SCREENSHOTGEN_CXXFLAGS) .\ctrlmaskout.cpp
$(OBJS)\screenshotgen_customcombo.obj: .\customcombo.cpp
$(CXX) -q -c -P -o$@ $(SCREENSHOTGEN_CXXFLAGS) .\customcombo.cpp
$(OBJS)\screenshotgen_autocapture.obj: .\autocapture.cpp
$(CXX) -q -c -P -o$@ $(SCREENSHOTGEN_CXXFLAGS) .\autocapture.cpp
$(OBJS)\screenshotgen_screenshotgen.res: .\screenshotgen.rc
brcc32 -32 -r -fo$@ -i$(BCCDIR)\include -d__WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) $(__MSLU_DEFINE_p_1) $(__GFXCTX_DEFINE_p_1) -i$(SETUPHDIR) -i.\..\..\..\include -i. $(__DLLFLAG_p_1) -i.\..\..\..\samples -dNOPCH .\screenshotgen.rc

View File

@@ -0,0 +1,285 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.4 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
include ../../../build/msw/config.gcc
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
CPPDEPS = -MT$@ -MF$@.d -MD -MP
WX_RELEASE_NODOT = 29
COMPILER_PREFIX = gcc
OBJS = \
$(COMPILER_PREFIX)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
LIBDIRNAME = .\..\..\..\lib\$(COMPILER_PREFIX)_$(LIBTYPE_SUFFIX)$(CFG)
SETUPHDIR = \
$(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
SCREENSHOTGEN_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG_2) $(__THREADSFLAG) \
$(GCCFLAGS) -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
$(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
$(__GFXCTX_DEFINE_p) -I$(SETUPHDIR) -I.\..\..\..\include -W -Wall -I. \
$(__DLLFLAG_p) -I.\..\..\..\samples -DNOPCH $(__RTTIFLAG_5) \
$(__EXCEPTIONSFLAG_6) -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
SCREENSHOTGEN_OBJECTS = \
$(OBJS)\screenshotgen_screenshot_app.o \
$(OBJS)\screenshotgen_screenshot_main.o \
$(OBJS)\screenshotgen_guiframe.o \
$(OBJS)\screenshotgen_ctrlmaskout.o \
$(OBJS)\screenshotgen_customcombo.o \
$(OBJS)\screenshotgen_autocapture.o \
$(OBJS)\screenshotgen_screenshotgen_rc.o
### Conditionally set variables: ###
ifeq ($(GCC_VERSION),2.95)
GCCFLAGS = -fvtable-thunks
endif
ifeq ($(USE_GUI),0)
PORTNAME = base
endif
ifeq ($(USE_GUI),1)
PORTNAME = msw
endif
ifeq ($(BUILD),debug)
ifeq ($(DEBUG_FLAG),default)
WXDEBUGFLAG = d
endif
endif
ifeq ($(DEBUG_FLAG),1)
WXDEBUGFLAG = d
endif
ifeq ($(UNICODE),1)
WXUNICODEFLAG = u
endif
ifeq ($(WXUNIV),1)
WXUNIVNAME = univ
endif
ifeq ($(SHARED),1)
WXDLLFLAG = dll
endif
ifeq ($(SHARED),0)
LIBTYPE_SUFFIX = lib
endif
ifeq ($(SHARED),1)
LIBTYPE_SUFFIX = dll
endif
ifeq ($(MONOLITHIC),0)
EXTRALIBS_FOR_BASE =
endif
ifeq ($(MONOLITHIC),1)
EXTRALIBS_FOR_BASE =
endif
ifeq ($(BUILD),debug)
__OPTIMIZEFLAG_2 = -O0
endif
ifeq ($(BUILD),release)
__OPTIMIZEFLAG_2 = -O2
endif
ifeq ($(USE_RTTI),0)
__RTTIFLAG_5 = -fno-rtti
endif
ifeq ($(USE_RTTI),1)
__RTTIFLAG_5 =
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONSFLAG_6 = -fno-exceptions
endif
ifeq ($(USE_EXCEPTIONS),1)
__EXCEPTIONSFLAG_6 =
endif
ifeq ($(WXUNIV),1)
__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
endif
ifeq ($(WXUNIV),1)
__WXUNIV_DEFINE_p_1 = --define __WXUNIVERSAL__
endif
ifeq ($(BUILD),debug)
ifeq ($(DEBUG_FLAG),default)
__DEBUG_DEFINE_p = -D__WXDEBUG__
endif
endif
ifeq ($(DEBUG_FLAG),1)
__DEBUG_DEFINE_p = -D__WXDEBUG__
endif
ifeq ($(BUILD),debug)
ifeq ($(DEBUG_FLAG),default)
__DEBUG_DEFINE_p_1 = --define __WXDEBUG__
endif
endif
ifeq ($(DEBUG_FLAG),1)
__DEBUG_DEFINE_p_1 = --define __WXDEBUG__
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONS_DEFINE_p_1 = --define wxNO_EXCEPTIONS
endif
ifeq ($(USE_RTTI),0)
__RTTI_DEFINE_p = -DwxNO_RTTI
endif
ifeq ($(USE_RTTI),0)
__RTTI_DEFINE_p_1 = --define wxNO_RTTI
endif
ifeq ($(USE_THREADS),0)
__THREAD_DEFINE_p = -DwxNO_THREADS
endif
ifeq ($(USE_THREADS),0)
__THREAD_DEFINE_p_1 = --define wxNO_THREADS
endif
ifeq ($(UNICODE),0)
__UNICODE_DEFINE_p = -DwxUSE_UNICODE=0
endif
ifeq ($(UNICODE),1)
__UNICODE_DEFINE_p = -D_UNICODE
endif
ifeq ($(UNICODE),0)
__UNICODE_DEFINE_p_1 = --define wxUSE_UNICODE=0
endif
ifeq ($(UNICODE),1)
__UNICODE_DEFINE_p_1 = --define _UNICODE
endif
ifeq ($(MSLU),1)
__MSLU_DEFINE_p = -DwxUSE_UNICODE_MSLU=1
endif
ifeq ($(MSLU),1)
__MSLU_DEFINE_p_1 = --define wxUSE_UNICODE_MSLU=1
endif
ifeq ($(USE_GDIPLUS),1)
__GFXCTX_DEFINE_p = -DwxUSE_GRAPHICS_CONTEXT=1
endif
ifeq ($(USE_GDIPLUS),1)
__GFXCTX_DEFINE_p_1 = --define wxUSE_GRAPHICS_CONTEXT=1
endif
ifeq ($(SHARED),1)
__DLLFLAG_p = -DWXUSINGDLL
endif
ifeq ($(SHARED),1)
__DLLFLAG_p_1 = --define WXUSINGDLL
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_AUI_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_ADV_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_RICHTEXT_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_HTML_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_XML_p = \
-lwxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_CORE_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_BASE_p = \
-lwxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
endif
ifeq ($(MONOLITHIC),1)
__WXLIB_MONO_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
endif
ifeq ($(USE_GUI),1)
__LIB_TIFF_p = -lwxtiff$(WXDEBUGFLAG)
endif
ifeq ($(USE_GUI),1)
__LIB_JPEG_p = -lwxjpeg$(WXDEBUGFLAG)
endif
ifeq ($(USE_GUI),1)
__LIB_PNG_p = -lwxpng$(WXDEBUGFLAG)
endif
ifeq ($(MSLU),1)
__UNICOWS_LIB_p = -lunicows
endif
ifeq ($(USE_GDIPLUS),1)
__GDIPLUS_LIB_p = -lgdiplus
endif
ifeq ($(BUILD),debug)
ifeq ($(DEBUG_INFO),default)
__DEBUGINFO = -g
endif
endif
ifeq ($(BUILD),release)
ifeq ($(DEBUG_INFO),default)
__DEBUGINFO =
endif
endif
ifeq ($(DEBUG_INFO),0)
__DEBUGINFO =
endif
ifeq ($(DEBUG_INFO),1)
__DEBUGINFO = -g
endif
ifeq ($(USE_THREADS),0)
__THREADSFLAG =
endif
ifeq ($(USE_THREADS),1)
__THREADSFLAG = -mthreads
endif
all: $(OBJS)
$(OBJS):
-if not exist $(OBJS) mkdir $(OBJS)
### Targets: ###
all: $(OBJS)\screenshotgen.exe data
clean:
-if exist $(OBJS)\*.o del $(OBJS)\*.o
-if exist $(OBJS)\*.d del $(OBJS)\*.d
-if exist $(OBJS)\screenshotgen.exe del $(OBJS)\screenshotgen.exe
$(OBJS)\screenshotgen.exe: $(SCREENSHOTGEN_OBJECTS) $(OBJS)\screenshotgen_screenshotgen_rc.o
$(CXX) -o $@ $(SCREENSHOTGEN_OBJECTS) $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(LDFLAGS) $(__WXLIB_AUI_p) $(__WXLIB_ADV_p) $(__WXLIB_RICHTEXT_p) $(__WXLIB_HTML_p) $(__WXLIB_XML_p) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32
data:
if not exist $(OBJS) mkdir $(OBJS)
for %%f in (richtext.xml bitmaps/wxwin32x32.png bitmaps/bell.png bitmaps/info.png bitmaps/sound.png bitmaps/dropbuth.png bitmaps/dropbutn.png bitmaps/dropbutp.png bitmaps/throbber.gif) do if not exist $(OBJS)\%%f copy .\%%f $(OBJS)
$(OBJS)\screenshotgen_screenshot_app.o: ./screenshot_app.cpp
$(CXX) -c -o $@ $(SCREENSHOTGEN_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\screenshotgen_screenshot_main.o: ./screenshot_main.cpp
$(CXX) -c -o $@ $(SCREENSHOTGEN_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\screenshotgen_guiframe.o: ./guiframe.cpp
$(CXX) -c -o $@ $(SCREENSHOTGEN_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\screenshotgen_ctrlmaskout.o: ./ctrlmaskout.cpp
$(CXX) -c -o $@ $(SCREENSHOTGEN_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\screenshotgen_customcombo.o: ./customcombo.cpp
$(CXX) -c -o $@ $(SCREENSHOTGEN_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\screenshotgen_autocapture.o: ./autocapture.cpp
$(CXX) -c -o $@ $(SCREENSHOTGEN_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\screenshotgen_screenshotgen_rc.o: ./screenshotgen.rc
windres --use-temp-file -i$< -o$@ --define __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) $(__MSLU_DEFINE_p_1) $(__GFXCTX_DEFINE_p_1) --include-dir $(SETUPHDIR) --include-dir ./../../../include --include-dir . $(__DLLFLAG_p_1) --include-dir ./../../../samples --define NOPCH
.PHONY: all clean data
SHELL := $(COMSPEC)
# Dependencies tracking:
-include $(OBJS)/*.d

View File

@@ -0,0 +1,361 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.4 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
!include <../../../build/msw/config.vc>
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
WX_RELEASE_NODOT = 29
COMPILER_PREFIX = vc
OBJS = \
$(COMPILER_PREFIX)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)$(DIR_SUFFIX_CPU)
LIBDIRNAME = \
.\..\..\..\lib\$(COMPILER_PREFIX)$(DIR_SUFFIX_CPU)_$(LIBTYPE_SUFFIX)$(CFG)
SETUPHDIR = \
$(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
SCREENSHOTGEN_CXXFLAGS = /M$(__RUNTIME_LIBS_8)$(__DEBUGRUNTIME_3) /DWIN32 \
$(__DEBUGINFO_0) /Fd$(OBJS)\screenshotgen.pdb $(____DEBUGRUNTIME_2_p) \
$(__OPTIMIZEFLAG_4) $(__NO_VC_CRTDBG_p) /D__WXMSW__ $(__WXUNIV_DEFINE_p) \
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
$(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
$(__GFXCTX_DEFINE_p) /I$(SETUPHDIR) /I.\..\..\..\include /W4 /I. \
$(__DLLFLAG_p) /D_WINDOWS /I.\..\..\..\samples /DNOPCH $(__RTTIFLAG_9) \
$(__EXCEPTIONSFLAG_10) $(CPPFLAGS) $(CXXFLAGS)
SCREENSHOTGEN_OBJECTS = \
$(OBJS)\screenshotgen_screenshot_app.obj \
$(OBJS)\screenshotgen_screenshot_main.obj \
$(OBJS)\screenshotgen_guiframe.obj \
$(OBJS)\screenshotgen_ctrlmaskout.obj \
$(OBJS)\screenshotgen_customcombo.obj \
$(OBJS)\screenshotgen_autocapture.obj \
$(OBJS)\screenshotgen_screenshotgen.res
### Conditionally set variables: ###
!if "$(USE_GUI)" == "0"
PORTNAME = base
!endif
!if "$(USE_GUI)" == "1"
PORTNAME = msw
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
WXDEBUGFLAG = d
!endif
!if "$(DEBUG_FLAG)" == "1"
WXDEBUGFLAG = d
!endif
!if "$(UNICODE)" == "1"
WXUNICODEFLAG = u
!endif
!if "$(WXUNIV)" == "1"
WXUNIVNAME = univ
!endif
!if "$(TARGET_CPU)" == "AMD64"
DIR_SUFFIX_CPU = _amd64
!endif
!if "$(TARGET_CPU)" == "IA64"
DIR_SUFFIX_CPU = _ia64
!endif
!if "$(TARGET_CPU)" == "amd64"
DIR_SUFFIX_CPU = _amd64
!endif
!if "$(TARGET_CPU)" == "ia64"
DIR_SUFFIX_CPU = _ia64
!endif
!if "$(SHARED)" == "1"
WXDLLFLAG = dll
!endif
!if "$(SHARED)" == "0"
LIBTYPE_SUFFIX = lib
!endif
!if "$(SHARED)" == "1"
LIBTYPE_SUFFIX = dll
!endif
!if "$(TARGET_CPU)" == "AMD64"
LINK_TARGET_CPU = /MACHINE:AMD64
!endif
!if "$(TARGET_CPU)" == "IA64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:AMD64
!endif
!if "$(TARGET_CPU)" == "ia64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(MONOLITHIC)" == "0"
EXTRALIBS_FOR_BASE =
!endif
!if "$(MONOLITHIC)" == "1"
EXTRALIBS_FOR_BASE =
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_0 = /Zi
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_0 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_0 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_0 = /Zi
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_1 = /DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_1 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_1 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_1 = /DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_2_p = /D_DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_2_p =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
____DEBUGRUNTIME_2_p =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
____DEBUGRUNTIME_2_p = /D_DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_2_p_1 = /d _DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_2_p_1 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
____DEBUGRUNTIME_2_p_1 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
____DEBUGRUNTIME_2_p_1 = /d _DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_3 = d
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_3 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__DEBUGRUNTIME_3 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
__DEBUGRUNTIME_3 = d
!endif
!if "$(BUILD)" == "debug"
__OPTIMIZEFLAG_4 = /Od
!endif
!if "$(BUILD)" == "release"
__OPTIMIZEFLAG_4 = /O2
!endif
!if "$(USE_THREADS)" == "0"
__THREADSFLAG_7 = L
!endif
!if "$(USE_THREADS)" == "1"
__THREADSFLAG_7 = T
!endif
!if "$(RUNTIME_LIBS)" == "dynamic"
__RUNTIME_LIBS_8 = D
!endif
!if "$(RUNTIME_LIBS)" == "static"
__RUNTIME_LIBS_8 = $(__THREADSFLAG_7)
!endif
!if "$(USE_RTTI)" == "0"
__RTTIFLAG_9 =
!endif
!if "$(USE_RTTI)" == "1"
__RTTIFLAG_9 = /GR
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONSFLAG_10 =
!endif
!if "$(USE_EXCEPTIONS)" == "1"
__EXCEPTIONSFLAG_10 = /EHsc
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
__NO_VC_CRTDBG_p_1 = /d __NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
__NO_VC_CRTDBG_p_1 = /d __NO_VC_CRTDBG__
!endif
!if "$(WXUNIV)" == "1"
__WXUNIV_DEFINE_p = /D__WXUNIVERSAL__
!endif
!if "$(WXUNIV)" == "1"
__WXUNIV_DEFINE_p_1 = /d __WXUNIVERSAL__
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
__DEBUG_DEFINE_p = /D__WXDEBUG__
!endif
!if "$(DEBUG_FLAG)" == "1"
__DEBUG_DEFINE_p = /D__WXDEBUG__
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
__DEBUG_DEFINE_p_1 = /d __WXDEBUG__
!endif
!if "$(DEBUG_FLAG)" == "1"
__DEBUG_DEFINE_p_1 = /d __WXDEBUG__
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONS_DEFINE_p = /DwxNO_EXCEPTIONS
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONS_DEFINE_p_1 = /d wxNO_EXCEPTIONS
!endif
!if "$(USE_RTTI)" == "0"
__RTTI_DEFINE_p = /DwxNO_RTTI
!endif
!if "$(USE_RTTI)" == "0"
__RTTI_DEFINE_p_1 = /d wxNO_RTTI
!endif
!if "$(USE_THREADS)" == "0"
__THREAD_DEFINE_p = /DwxNO_THREADS
!endif
!if "$(USE_THREADS)" == "0"
__THREAD_DEFINE_p_1 = /d wxNO_THREADS
!endif
!if "$(UNICODE)" == "0"
__UNICODE_DEFINE_p = /DwxUSE_UNICODE=0
!endif
!if "$(UNICODE)" == "1"
__UNICODE_DEFINE_p = /D_UNICODE
!endif
!if "$(UNICODE)" == "0"
__UNICODE_DEFINE_p_1 = /d wxUSE_UNICODE=0
!endif
!if "$(UNICODE)" == "1"
__UNICODE_DEFINE_p_1 = /d _UNICODE
!endif
!if "$(MSLU)" == "1"
__MSLU_DEFINE_p = /DwxUSE_UNICODE_MSLU=1
!endif
!if "$(MSLU)" == "1"
__MSLU_DEFINE_p_1 = /d wxUSE_UNICODE_MSLU=1
!endif
!if "$(USE_GDIPLUS)" == "1"
__GFXCTX_DEFINE_p = /DwxUSE_GRAPHICS_CONTEXT=1
!endif
!if "$(USE_GDIPLUS)" == "1"
__GFXCTX_DEFINE_p_1 = /d wxUSE_GRAPHICS_CONTEXT=1
!endif
!if "$(SHARED)" == "1"
__DLLFLAG_p = /DWXUSINGDLL
!endif
!if "$(SHARED)" == "1"
__DLLFLAG_p_1 = /d WXUSINGDLL
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_AUI_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_ADV_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_RICHTEXT_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_HTML_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_XML_p = \
wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_CORE_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_BASE_p = \
wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
!if "$(MONOLITHIC)" == "1"
__WXLIB_MONO_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
!endif
!if "$(MSLU)" == "1"
__UNICOWS_LIB_p = unicows.lib
!endif
!if "$(USE_GDIPLUS)" == "1"
__GDIPLUS_LIB_p = gdiplus.lib
!endif
all: $(OBJS)
$(OBJS):
-if not exist $(OBJS) mkdir $(OBJS)
### Targets: ###
all: $(OBJS)\screenshotgen.exe data
clean:
-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
-if exist $(OBJS)\*.res del $(OBJS)\*.res
-if exist $(OBJS)\*.pch del $(OBJS)\*.pch
-if exist $(OBJS)\screenshotgen.exe del $(OBJS)\screenshotgen.exe
-if exist $(OBJS)\screenshotgen.ilk del $(OBJS)\screenshotgen.ilk
-if exist $(OBJS)\screenshotgen.pdb del $(OBJS)\screenshotgen.pdb
$(OBJS)\screenshotgen.exe: $(SCREENSHOTGEN_OBJECTS) $(OBJS)\screenshotgen_screenshotgen.res
link /NOLOGO /OUT:$@ $(__DEBUGINFO_1) /pdb:"$(OBJS)\screenshotgen.pdb" $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) /SUBSYSTEM:WINDOWS $(LDFLAGS) @<<
$(SCREENSHOTGEN_OBJECTS) $(__WXLIB_AUI_p) $(__WXLIB_ADV_p) $(__WXLIB_RICHTEXT_p) $(__WXLIB_HTML_p) $(__WXLIB_XML_p) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib
<<
data:
if not exist $(OBJS) mkdir $(OBJS)
for %f in (richtext.xml bitmaps/wxwin32x32.png bitmaps/bell.png bitmaps/info.png bitmaps/sound.png bitmaps/dropbuth.png bitmaps/dropbutn.png bitmaps/dropbutp.png bitmaps/throbber.gif) do if not exist $(OBJS)\%f copy .\%f $(OBJS)
$(OBJS)\screenshotgen_screenshot_app.obj: .\screenshot_app.cpp
$(CXX) /c /nologo /TP /Fo$@ $(SCREENSHOTGEN_CXXFLAGS) .\screenshot_app.cpp
$(OBJS)\screenshotgen_screenshot_main.obj: .\screenshot_main.cpp
$(CXX) /c /nologo /TP /Fo$@ $(SCREENSHOTGEN_CXXFLAGS) .\screenshot_main.cpp
$(OBJS)\screenshotgen_guiframe.obj: .\guiframe.cpp
$(CXX) /c /nologo /TP /Fo$@ $(SCREENSHOTGEN_CXXFLAGS) .\guiframe.cpp
$(OBJS)\screenshotgen_ctrlmaskout.obj: .\ctrlmaskout.cpp
$(CXX) /c /nologo /TP /Fo$@ $(SCREENSHOTGEN_CXXFLAGS) .\ctrlmaskout.cpp
$(OBJS)\screenshotgen_customcombo.obj: .\customcombo.cpp
$(CXX) /c /nologo /TP /Fo$@ $(SCREENSHOTGEN_CXXFLAGS) .\customcombo.cpp
$(OBJS)\screenshotgen_autocapture.obj: .\autocapture.cpp
$(CXX) /c /nologo /TP /Fo$@ $(SCREENSHOTGEN_CXXFLAGS) .\autocapture.cpp
$(OBJS)\screenshotgen_screenshotgen.res: .\screenshotgen.rc
rc /fo$@ /d WIN32 $(____DEBUGRUNTIME_2_p_1) $(__NO_VC_CRTDBG_p_1) /d __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) $(__MSLU_DEFINE_p_1) $(__GFXCTX_DEFINE_p_1) /i $(SETUPHDIR) /i .\..\..\..\include /i . $(__DLLFLAG_p_1) /d _WINDOWS /i .\..\..\..\samples /d NOPCH .\screenshotgen.rc

View File

@@ -0,0 +1,315 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.4 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
!include ../../../build/msw/config.wat
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
# Speed up compilation a bit:
!ifdef __LOADDLL__
! loaddll wcc wccd
! loaddll wccaxp wccdaxp
! loaddll wcc386 wccd386
! loaddll wpp wppdi86
! loaddll wppaxp wppdaxp
! loaddll wpp386 wppd386
! loaddll wlink wlink
! loaddll wlib wlibd
!endif
# We need these variables in some bakefile-made rules:
WATCOM_CWD = $+ $(%cdrive):$(%cwd) $-
### Conditionally set variables: ###
PORTNAME =
!ifeq USE_GUI 0
PORTNAME = base
!endif
!ifeq USE_GUI 1
PORTNAME = msw
!endif
WXDEBUGFLAG =
!ifeq BUILD debug
!ifeq DEBUG_FLAG default
WXDEBUGFLAG = d
!endif
!endif
!ifeq DEBUG_FLAG 1
WXDEBUGFLAG = d
!endif
WXUNICODEFLAG =
!ifeq UNICODE 1
WXUNICODEFLAG = u
!endif
WXUNIVNAME =
!ifeq WXUNIV 1
WXUNIVNAME = univ
!endif
WXDLLFLAG =
!ifeq SHARED 1
WXDLLFLAG = dll
!endif
LIBTYPE_SUFFIX =
!ifeq SHARED 0
LIBTYPE_SUFFIX = lib
!endif
!ifeq SHARED 1
LIBTYPE_SUFFIX = dll
!endif
EXTRALIBS_FOR_BASE =
!ifeq MONOLITHIC 0
EXTRALIBS_FOR_BASE =
!endif
!ifeq MONOLITHIC 1
EXTRALIBS_FOR_BASE =
!endif
__DEBUGINFO_0 =
!ifeq BUILD debug
!ifeq DEBUG_INFO default
__DEBUGINFO_0 = -d2
!endif
!endif
!ifeq BUILD release
!ifeq DEBUG_INFO default
__DEBUGINFO_0 = -d0
!endif
!endif
!ifeq DEBUG_INFO 0
__DEBUGINFO_0 = -d0
!endif
!ifeq DEBUG_INFO 1
__DEBUGINFO_0 = -d2
!endif
__DEBUGINFO_1 =
!ifeq BUILD debug
!ifeq DEBUG_INFO default
__DEBUGINFO_1 = debug all
!endif
!endif
!ifeq BUILD release
!ifeq DEBUG_INFO default
__DEBUGINFO_1 =
!endif
!endif
!ifeq DEBUG_INFO 0
__DEBUGINFO_1 =
!endif
!ifeq DEBUG_INFO 1
__DEBUGINFO_1 = debug all
!endif
__OPTIMIZEFLAG_2 =
!ifeq BUILD debug
__OPTIMIZEFLAG_2 = -od
!endif
!ifeq BUILD release
__OPTIMIZEFLAG_2 = -ot -ox
!endif
__THREADSFLAG_5 =
!ifeq USE_THREADS 0
__THREADSFLAG_5 =
!endif
!ifeq USE_THREADS 1
__THREADSFLAG_5 = -bm
!endif
__RUNTIME_LIBS_6 =
!ifeq RUNTIME_LIBS dynamic
__RUNTIME_LIBS_6 = -br
!endif
!ifeq RUNTIME_LIBS static
__RUNTIME_LIBS_6 =
!endif
__RTTIFLAG_7 =
!ifeq USE_RTTI 0
__RTTIFLAG_7 =
!endif
!ifeq USE_RTTI 1
__RTTIFLAG_7 = -xr
!endif
__EXCEPTIONSFLAG_8 =
!ifeq USE_EXCEPTIONS 0
__EXCEPTIONSFLAG_8 =
!endif
!ifeq USE_EXCEPTIONS 1
__EXCEPTIONSFLAG_8 = -xs
!endif
__WXLIB_AUI_p =
!ifeq MONOLITHIC 0
__WXLIB_AUI_p = &
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib
!endif
__WXLIB_ADV_p =
!ifeq MONOLITHIC 0
__WXLIB_ADV_p = &
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib
!endif
__WXLIB_RICHTEXT_p =
!ifeq MONOLITHIC 0
__WXLIB_RICHTEXT_p = &
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext.lib
!endif
__WXLIB_HTML_p =
!ifeq MONOLITHIC 0
__WXLIB_HTML_p = &
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html.lib
!endif
__WXLIB_XML_p =
!ifeq MONOLITHIC 0
__WXLIB_XML_p = &
wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib
!endif
__WXLIB_CORE_p =
!ifeq MONOLITHIC 0
__WXLIB_CORE_p = &
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
!endif
__WXLIB_BASE_p =
!ifeq MONOLITHIC 0
__WXLIB_BASE_p = &
wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
__WXLIB_MONO_p =
!ifeq MONOLITHIC 1
__WXLIB_MONO_p = &
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
__LIB_TIFF_p =
!ifeq USE_GUI 1
__LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
!endif
__LIB_JPEG_p =
!ifeq USE_GUI 1
__LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
!endif
__LIB_PNG_p =
!ifeq USE_GUI 1
__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
!endif
__GDIPLUS_LIB_p =
!ifeq USE_GDIPLUS 1
__GDIPLUS_LIB_p = gdiplus.lib
!endif
__WXUNIV_DEFINE_p =
!ifeq WXUNIV 1
__WXUNIV_DEFINE_p = -d__WXUNIVERSAL__
!endif
__DEBUG_DEFINE_p =
!ifeq BUILD debug
!ifeq DEBUG_FLAG default
__DEBUG_DEFINE_p = -d__WXDEBUG__
!endif
!endif
!ifeq DEBUG_FLAG 1
__DEBUG_DEFINE_p = -d__WXDEBUG__
!endif
__EXCEPTIONS_DEFINE_p =
!ifeq USE_EXCEPTIONS 0
__EXCEPTIONS_DEFINE_p = -dwxNO_EXCEPTIONS
!endif
__RTTI_DEFINE_p =
!ifeq USE_RTTI 0
__RTTI_DEFINE_p = -dwxNO_RTTI
!endif
__THREAD_DEFINE_p =
!ifeq USE_THREADS 0
__THREAD_DEFINE_p = -dwxNO_THREADS
!endif
__UNICODE_DEFINE_p =
!ifeq UNICODE 0
__UNICODE_DEFINE_p = -dwxUSE_UNICODE=0
!endif
!ifeq UNICODE 1
__UNICODE_DEFINE_p = -d_UNICODE
!endif
__GFXCTX_DEFINE_p =
!ifeq USE_GDIPLUS 1
__GFXCTX_DEFINE_p = -dwxUSE_GRAPHICS_CONTEXT=1
!endif
__DLLFLAG_p =
!ifeq SHARED 1
__DLLFLAG_p = -dWXUSINGDLL
!endif
### Variables: ###
WX_RELEASE_NODOT = 29
COMPILER_PREFIX = wat
OBJS = &
$(COMPILER_PREFIX)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
LIBDIRNAME = .\..\..\..\lib\$(COMPILER_PREFIX)_$(LIBTYPE_SUFFIX)$(CFG)
SETUPHDIR = &
$(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
SCREENSHOTGEN_CXXFLAGS = $(__DEBUGINFO_0) $(__OPTIMIZEFLAG_2) &
$(__THREADSFLAG_5) $(__RUNTIME_LIBS_6) -d__WXMSW__ $(__WXUNIV_DEFINE_p) &
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) &
$(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__GFXCTX_DEFINE_p) &
-i=$(SETUPHDIR) -i=.\..\..\..\include -wx -wcd=549 -wcd=656 -wcd=657 -wcd=667 &
-i=. $(__DLLFLAG_p) -i=.\..\..\..\samples -dNOPCH $(__RTTIFLAG_7) &
$(__EXCEPTIONSFLAG_8) $(CPPFLAGS) $(CXXFLAGS)
SCREENSHOTGEN_OBJECTS = &
$(OBJS)\screenshotgen_screenshot_app.obj &
$(OBJS)\screenshotgen_screenshot_main.obj &
$(OBJS)\screenshotgen_guiframe.obj &
$(OBJS)\screenshotgen_ctrlmaskout.obj &
$(OBJS)\screenshotgen_customcombo.obj &
$(OBJS)\screenshotgen_autocapture.obj
all : $(OBJS)
$(OBJS) :
-if not exist $(OBJS) mkdir $(OBJS)
### Targets: ###
all : .SYMBOLIC $(OBJS)\screenshotgen.exe data
clean : .SYMBOLIC
-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
-if exist $(OBJS)\*.res del $(OBJS)\*.res
-if exist $(OBJS)\*.lbc del $(OBJS)\*.lbc
-if exist $(OBJS)\*.ilk del $(OBJS)\*.ilk
-if exist $(OBJS)\*.pch del $(OBJS)\*.pch
-if exist $(OBJS)\screenshotgen.exe del $(OBJS)\screenshotgen.exe
$(OBJS)\screenshotgen.exe : $(SCREENSHOTGEN_OBJECTS) $(OBJS)\screenshotgen_screenshotgen.res
@%create $(OBJS)\screenshotgen.lbc
@%append $(OBJS)\screenshotgen.lbc option quiet
@%append $(OBJS)\screenshotgen.lbc name $^@
@%append $(OBJS)\screenshotgen.lbc option caseexact
@%append $(OBJS)\screenshotgen.lbc $(__DEBUGINFO_1) libpath $(LIBDIRNAME) system nt_win ref '_WinMain@16' $(LDFLAGS)
@for %i in ($(SCREENSHOTGEN_OBJECTS)) do @%append $(OBJS)\screenshotgen.lbc file %i
@for %i in ( $(__WXLIB_AUI_p) $(__WXLIB_ADV_p) $(__WXLIB_RICHTEXT_p) $(__WXLIB_HTML_p) $(__WXLIB_XML_p) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__GDIPLUS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib) do @%append $(OBJS)\screenshotgen.lbc library %i
@%append $(OBJS)\screenshotgen.lbc option resource=$(OBJS)\screenshotgen_screenshotgen.res
@for %i in () do @%append $(OBJS)\screenshotgen.lbc option stack=%i
wlink @$(OBJS)\screenshotgen.lbc
data : .SYMBOLIC
if not exist $(OBJS) mkdir $(OBJS)
for %f in (richtext.xml bitmaps/wxwin32x32.png bitmaps/bell.png bitmaps/info.png bitmaps/sound.png bitmaps/dropbuth.png bitmaps/dropbutn.png bitmaps/dropbutp.png bitmaps/throbber.gif) do if not exist $(OBJS)\%f copy .\%f $(OBJS)
$(OBJS)\screenshotgen_screenshot_app.obj : .AUTODEPEND .\screenshot_app.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(SCREENSHOTGEN_CXXFLAGS) $<
$(OBJS)\screenshotgen_screenshot_main.obj : .AUTODEPEND .\screenshot_main.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(SCREENSHOTGEN_CXXFLAGS) $<
$(OBJS)\screenshotgen_guiframe.obj : .AUTODEPEND .\guiframe.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(SCREENSHOTGEN_CXXFLAGS) $<
$(OBJS)\screenshotgen_ctrlmaskout.obj : .AUTODEPEND .\ctrlmaskout.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(SCREENSHOTGEN_CXXFLAGS) $<
$(OBJS)\screenshotgen_customcombo.obj : .AUTODEPEND .\customcombo.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(SCREENSHOTGEN_CXXFLAGS) $<
$(OBJS)\screenshotgen_autocapture.obj : .AUTODEPEND .\autocapture.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(SCREENSHOTGEN_CXXFLAGS) $<
$(OBJS)\screenshotgen_screenshotgen.res : .AUTODEPEND .\screenshotgen.rc
wrc -q -ad -bt=nt -r -fo=$^@ -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__GFXCTX_DEFINE_p) -i=$(SETUPHDIR) -i=.\..\..\..\include -i=. $(__DLLFLAG_p) -i=.\..\..\..\samples -dNOPCH $<

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,45 @@
/////////////////////////////////////////////////////////////////////////////
// Name: screenshot_app.cpp
// Purpose: Implement Application Class
// Author: Utensil Candel (UtensilCandel@@gmail.com)
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
// for all others, include the necessary headers
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include <wx/richtext/richtextxml.h>
#include "screenshot_app.h"
#include "screenshot_main.h"
// ----------------------------------------------------------------------------
// wxScreenshotApp
// ----------------------------------------------------------------------------
IMPLEMENT_APP(wxScreenshotApp);
bool wxScreenshotApp::OnInit()
{
// Init all Image handlers
wxInitAllImageHandlers();
// Add richtext extra handlers (plain text is automatically added)
wxRichTextBuffer::AddHandler(new wxRichTextXMLHandler);
wxScreenshotFrame* frame = new wxScreenshotFrame(0L);
frame->Show();
return true;
}

View File

@@ -0,0 +1,20 @@
/////////////////////////////////////////////////////////////////////////////
// Name: screenshot_app.h
// Purpose: Defines the Application Class
// Author: Utensil Candel (UtensilCandel@@gmail.com)
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef WXSCREENSHOTAPP_H
#define WXSCREENSHOTAPP_H
#include <wx/app.h>
class wxScreenshotApp : public wxApp
{
public:
virtual bool OnInit();
};
#endif // WXSCREENSHOTAPP_H

View File

@@ -0,0 +1,361 @@
/////////////////////////////////////////////////////////////////////////////
// Name: screenshot_main.cpp
// Purpose: Implement the Application Frame
// Author: Utensil Candel (UtensilCandel@@gmail.com)
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
// for all others, include the necessary headers
#ifndef WX_PRECOMP
#include <wx/filename.h>
#include <wx/dcbuffer.h>
#include <wx/colordlg.h>
#include <wx/fontdlg.h>
#include <wx/filedlg.h>
#include <wx/dirdlg.h>
#endif
#include <wx/dir.h>
#include "screenshot_main.h"
#include "ctrlmaskout.h"
#include "autocapture.h"
// Global helper functions
enum wxBuildInfoFormat
{
short_f,
long_f
};
wxString wxbuildinfo(wxBuildInfoFormat format)
{
wxString wxbuild(wxVERSION_STRING);
if (format == long_f )
{
#if defined(__WXMSW__)
wxbuild << _T("-Windows");
#elif defined(__WXMAC__)
wxbuild << _T("-Mac");
#elif defined(__UNIX__)
wxbuild << _T("-Linux");
#endif
#if wxUSE_UNICODE
wxbuild << _T("-Unicode build");
#else
wxbuild << _T("-ANSI build");
#endif // wxUSE_UNICODE
}
return wxbuild;
}
// ----------------------------------------------------------------------------
// wxScreenshotFrame
// ----------------------------------------------------------------------------
wxScreenshotFrame::wxScreenshotFrame(wxFrame *frame)
#if SCREENSHOTGEN_USE_AUI
: AuiGUIFrame(frame)
#else
: GUIFrame(frame)
#endif
{
#if wxUSE_STATUSBAR
statusBar->SetStatusText(_("Hello wxWidgets user!"), 0);
// statusBar->SetStatusText(wxbuildinfo(short_f), 1);
#endif
// We will hold one during the whole life time of the main frame
m_maskout = new wxCtrlMaskOut();
// At the begining, we are not specifying the rect region
capturingRect = false;
// Do some further customization on some controls generated by wxFormBuilder
InitFBControls();
#if SCREENSHOTGEN_USE_AUI
// Somehow it will be very small after I move to Aui
SetSize(600, 600);
// Maximize(true);
#endif
}
wxScreenshotFrame::~wxScreenshotFrame()
{
delete m_maskout;
}
/*
Do some further customization on some controls generated by wxFormBuilder.
Some controls can only be generated by wxFormBuilder without further
customization, e.g. unable to load a richtext file in a wxRichtextCtrl
during initialization.
Those customizations will be done here.
*/
void wxScreenshotFrame::InitFBControls()
{
// Do the default selection for wxComboBox
m_comboBox1->Select(0);
// To look better under gtk
#ifdef __WXGTK__
m_comboBox1->Delete(4);
#endif
// Add a root and some nodes for wxTreeCtrl
wxTreeItemId root = m_treeCtrl1->AddRoot(_("wxTreeCtrl"));
m_treeCtrl1->AppendItem(root, _("Node1"));
wxTreeItemId node2 = m_treeCtrl1->AppendItem(root, _("Node2"));
m_treeCtrl1->AppendItem(node2, _("Node3"));
m_treeCtrl1->ExpandAll();
// Add items into wxListCtrl
for(long index = 0; index < 5; index++)
m_listCtrl1->InsertItem( index, wxString::Format(_("Item\n(0,%d)"),index));
// Check the first item in wxCheckListBox
m_checkList1->Check(0);
// Load richtext.xml into wxRichtextCtrl
m_richText1->LoadFile(_T("richtext.xml"));
m_richText1->ShowPosition(335);
}
// ----------------------------------------------------------------------------
// wxScreenshotFrame - event handlers
// ----------------------------------------------------------------------------
void wxScreenshotFrame::OnClose(wxCloseEvent& WXUNUSED(event))
{
Destroy();
}
void wxScreenshotFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
Destroy();
}
void wxScreenshotFrame::OnSeeScreenshots(wxCommandEvent& WXUNUSED(event))
{
wxString defaultDir = m_maskout->GetDefaultDirectory();
// Check if defaultDir already existed
if(!wxDirExists(defaultDir))
wxMkdir(defaultDir);
// Use the native file browser to open defaultDir
#if defined(__WXMSW__)
wxExecute(_T("explorer ") + defaultDir);
#elif defined(__UNIX__) // nautilus is the GNOME file browser but works also for KDE
wxExecute(_T("nautilus ") + defaultDir);
#elif defined(_WXMAC_)
wxExecute(_T("open ") + defaultDir);
#else
wxMessageBox(_("Sorry, not Implemeted for this platform yet! Please open subdirectory \"")
+ defaultDir
+ _("\" manually.") );
#endif
}
void wxScreenshotFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
wxString msg = wxbuildinfo(long_f);
wxMessageBox(msg, _("Welcome to..."));
}
void wxScreenshotFrame::OnCaptureFullScreen(wxCommandEvent& WXUNUSED(event))
{
// Create a DC for the whole screen area
wxScreenDC dcScreen;
// Get the size of the screenDC
wxCoord screenWidth, screenHeight;
dcScreen.GetSize(&screenWidth, &screenHeight);
m_maskout->Capture(0, 0, screenWidth, screenHeight, _T("fullscreen"));
}
void wxScreenshotFrame::OnCaptureRect(wxCommandEvent& WXUNUSED(event))
{
capturingRect = true;
wxMenuBar * menubar = this->GetMenuBar();
menubar->FindItem(idMenuCapRect)->Enable(false);
menubar->FindItem(idMenuEndCapRect)->Enable(true);
wxWindow * thePage = m_notebook1->GetPage(m_notebook1->GetSelection());
thePage->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonDown ), NULL, m_maskout);
thePage->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonUp ), NULL, m_maskout);
thePage->Connect( wxEVT_MOTION, wxMouseEventHandler( wxCtrlMaskOut::OnMouseMoving ), NULL, m_maskout);
}
void wxScreenshotFrame::OnEndCaptureRect(wxCommandEvent& WXUNUSED(event))
{
capturingRect = false;
wxMenuBar * menubar = this->GetMenuBar();
menubar->FindItem(idMenuCapRect)->Enable(true);
menubar->FindItem(idMenuEndCapRect)->Enable(false);
wxWindow * thePage = m_notebook1->GetPage(m_notebook1->GetSelection());
thePage->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonDown ), NULL, m_maskout);
thePage->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonUp ), NULL, m_maskout);
thePage->Disconnect( wxEVT_MOTION, wxMouseEventHandler( wxCtrlMaskOut::OnMouseMoving ), NULL, m_maskout);
}
void wxScreenshotFrame::OnNotebookPageChanging(
#if SCREENSHOTGEN_USE_AUI
wxAuiNotebookEvent& event
#else
wxNotebookEvent& event
#endif
)
{
if (!capturingRect)
{
event.Skip();
return;
}
wxWindow * thePage = m_notebook1->GetPage(event.GetOldSelection());
thePage->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonDown ), NULL, m_maskout);
thePage->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonUp ), NULL, m_maskout);
thePage->Disconnect( wxEVT_MOTION, wxMouseEventHandler( wxCtrlMaskOut::OnMouseMoving ), NULL, m_maskout);
event.Skip();
}
void wxScreenshotFrame::OnNotebookPageChanged(
#if SCREENSHOTGEN_USE_AUI
wxAuiNotebookEvent& event
#else
wxNotebookEvent& event
#endif
)
{
if(!capturingRect)
{
event.Skip();
return;
}
wxWindow *thePage = m_notebook1->GetPage(event.GetSelection());
thePage->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonDown ), NULL, m_maskout);
thePage->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( wxCtrlMaskOut::OnLeftButtonUp ), NULL, m_maskout);
thePage->Connect( wxEVT_MOTION, wxMouseEventHandler( wxCtrlMaskOut::OnMouseMoving ), NULL, m_maskout);
event.Skip();
}
void wxScreenshotFrame::OnCaptureAllControls(wxCommandEvent& WXUNUSED(event))
{
wxString dir = wxT("screenshots");
if (wxFileName::DirExists(dir))
{
int choice = wxMessageBox(_("It seems that you have already generated some screenshots.\nClick YES to delete them all(recommended), NO to preserve them\nCANCEL to cancel this auto-capture(so you can save them elsewhere)."),
_("Do you want to delete the existing screenshots?"),
wxYES_NO|wxCANCEL|wxICON_QUESTION, this);
switch(choice)
{
case wxYES :
{
wxArrayString files;
wxDir::GetAllFiles(dir, &files, wxT("*.png"), wxDIR_FILES);
int n = files.GetCount();
for (int i = 0; i < n; ++i)
wxRemoveFile(files[i]);
}
break;
case wxNO : break;
case wxCANCEL : return;
}
}
this->Maximize();
AutoCaptureMechanism auto_cap(m_notebook1);
auto_cap.RegisterControl(m_button1);
auto_cap.RegisterControl(m_staticText1);
auto_cap.RegisterControl(m_checkBox1, AJ_Union);
auto_cap.RegisterControl(m_checkBox2, AJ_UnionEnd);
auto_cap.RegisterControl(m_radioBtn1, AJ_Union);
auto_cap.RegisterControl(m_radioBtn2, AJ_UnionEnd);
auto_cap.RegisterControl(m_bpButton1);
auto_cap.RegisterControl(m_bitmap1);
auto_cap.RegisterControl(m_gauge1, wxT("wxGauge"));
auto_cap.RegisterControl(m_slider1);
auto_cap.RegisterControl(m_toggleBtn1, AJ_Union);
auto_cap.RegisterControl(m_toggleBtn2, AJ_UnionEnd);
auto_cap.RegisterControl(m_hyperlink1);
auto_cap.RegisterControl(m_spinCtrl1, AJ_RegionAdjust);
auto_cap.RegisterControl(m_spinBtn1);
auto_cap.RegisterControl(m_scrollBar1);
auto_cap.RegisterPageTurn();
auto_cap.RegisterControl(m_checkList1);
auto_cap.RegisterControl(m_listBox1);
auto_cap.RegisterControl(m_radioBox1);
auto_cap.RegisterControl(m_staticBox1);
auto_cap.RegisterControl(m_treeCtrl1);
auto_cap.RegisterControl(m_listCtrl1, wxT("wxListCtrl"));
auto_cap.RegisterControl(m_animationCtrl1);
auto_cap.RegisterControl(m_collPane1, wxT("wxCollapsiblePane"), AJ_Union);
auto_cap.RegisterControl(m_collPane2, AJ_UnionEnd);
auto_cap.RegisterPageTurn();
auto_cap.RegisterControl(m_textCtrl1, AJ_Union);
auto_cap.RegisterControl(m_textCtrl2, AJ_UnionEnd);
auto_cap.RegisterControl(m_richText1);
auto_cap.RegisterPageTurn();
auto_cap.RegisterControl(m_colourPicker1, wxT("wxColourPickerCtrl"));
auto_cap.RegisterControl(m_fontPicker1, wxT("wxFontPickerCtrl"));
auto_cap.RegisterControl(m_filePicker1, wxT("wxFilePickerCtrl"), AJ_RegionAdjust);
auto_cap.RegisterControl(m_calendar1, wxT("wxCalendarCtrl"), AJ_RegionAdjust);
auto_cap.RegisterControl(m_datePicker1, wxT("wxDatePickerCtrl"));
auto_cap.RegisterControl(m_genericDirCtrl1, wxT("wxGenericDirCtrl"));
auto_cap.RegisterControl(m_dirPicker1, wxT("wxDirPickerCtrl"), AJ_RegionAdjust);
auto_cap.RegisterPageTurn();
auto_cap.RegisterControl(m_choice1, AJ_Dropdown);
auto_cap.RegisterControl(m_comboBox1, AJ_Dropdown);
auto_cap.RegisterControl(m_bmpComboBox1, AJ_Dropdown);
auto_cap.RegisterControl(m_ownerDrawnComboBox1, AJ_Dropdown);
auto_cap.RegisterControl(m_comboCtrl1, AJ_Dropdown|AJ_Union);
auto_cap.RegisterControl(m_comboCtrl2, AJ_Dropdown|AJ_UnionEnd);
auto_cap.CaptureAll();
wxMessageBox(_("All screenshots are generated successfully.\nSelect \"File->See screenshots\" to see them."),
_("Success"), wxOK, this);
}

View File

@@ -0,0 +1,61 @@
/////////////////////////////////////////////////////////////////////////////
// Name: screenshot_main.h
// Purpose: Defines the Application Frame
// Author: Utensil Candel (UtensilCandel@@gmail.com)
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef WXSCREENSHOTMAIN_H
#define WXSCREENSHOTMAIN_H
#include "guiframe.h"
// when defined to 1, wxAui for the main frame
#define SCREENSHOTGEN_USE_AUI 0
class wxCtrlMaskOut;
class wxScreenshotFrame
#if SCREENSHOTGEN_USE_AUI
: public AuiGUIFrame
#else
: public GUIFrame
#endif
{
public:
wxScreenshotFrame(wxFrame *frame);
~wxScreenshotFrame();
protected: // event handlers
virtual void OnClose(wxCloseEvent& event);
virtual void OnQuit(wxCommandEvent& event);
virtual void OnAbout(wxCommandEvent& event);
virtual void OnSeeScreenshots( wxCommandEvent& event);
virtual void OnCaptureFullScreen( wxCommandEvent& event );
virtual void OnCaptureRect( wxCommandEvent& event );
virtual void OnEndCaptureRect( wxCommandEvent& event );
virtual void OnCaptureAllControls( wxCommandEvent& event );
#if SCREENSHOTGEN_USE_AUI
virtual void OnNotebookPageChanged( wxAuiNotebookEvent& event );
virtual void OnNotebookPageChanging( wxAuiNotebookEvent& event );
#else
virtual void OnNotebookPageChanged( wxNotebookEvent& event );
virtual void OnNotebookPageChanging( wxNotebookEvent& event );
#endif
private:
// Helper functions
void InitFBControls();
// Data members
bool capturingRect;
wxCtrlMaskOut * m_maskout;
};
#endif // WXSCREENSHOTMAIN_H

View File

@@ -0,0 +1,59 @@
<?xml version="1.0" ?>
<!-- $Id$ -->
<makefile>
<include file="../../../build/bakefiles/common_samples.bkl"/>
<exe id="screenshotgen" template="wx_util" template_append="wx_append">
<if cond="FORMAT=='autoconf'">
<wx-mac-app-bundle/>
<ldflags>$(SAMPLES_RPATH_FLAG)</ldflags>
<postlink-command>$(SAMPLES_RPATH_POSTLINK)</postlink-command>
</if>
<sources>
screenshot_app.cpp
screenshot_main.cpp
guiframe.cpp
ctrlmaskout.cpp
customcombo.cpp
autocapture.cpp
</sources>
<headers>
screenshot_app.h
screenshot_main.h
guiframe.h
ctrlmaskout.h
customcombo.h
autocapture.h
</headers>
<wx-lib>aui</wx-lib>
<wx-lib>adv</wx-lib>
<wx-lib>richtext</wx-lib>
<wx-lib>html</wx-lib>
<wx-lib>xml</wx-lib>
<wx-lib>core</wx-lib>
<wx-lib>base</wx-lib>
<win32-res>screenshotgen.rc</win32-res>
<install-to>$(BINDIR)</install-to>
</exe>
<wx-data id="data">
<files>
richtext.xml
bitmaps/wxwin32x32.png
bitmaps/bell.png
bitmaps/info.png
bitmaps/sound.png
bitmaps/dropbuth.png
bitmaps/dropbutn.png
bitmaps/dropbutp.png
bitmaps/throbber.gif
</files>
</wx-data>
</makefile>

View File

@@ -0,0 +1,312 @@
# Microsoft Developer Studio Project File - Name="screenshotgen" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101
CFG=screenshotgen - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "screenshotgen.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "screenshotgen.mak" CFG="screenshotgen - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "screenshotgen - Win32 DLL Universal Release" (based on "Win32 (x86) Application")
!MESSAGE "screenshotgen - Win32 DLL Universal Debug" (based on "Win32 (x86) Application")
!MESSAGE "screenshotgen - Win32 DLL Release" (based on "Win32 (x86) Application")
!MESSAGE "screenshotgen - Win32 DLL Debug" (based on "Win32 (x86) Application")
!MESSAGE "screenshotgen - Win32 Universal Release" (based on "Win32 (x86) Application")
!MESSAGE "screenshotgen - Win32 Universal Debug" (based on "Win32 (x86) Application")
!MESSAGE "screenshotgen - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "screenshotgen - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "screenshotgen - Win32 DLL Universal Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "vc_mswunivudll"
# PROP BASE Intermediate_Dir "vc_mswunivudll\screenshotgen"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "vc_mswunivudll"
# PROP Intermediate_Dir "vc_mswunivudll\screenshotgen"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /FD /MD /Zi /Fdvc_mswunivudll\screenshotgen.pdb /O2 /GR /EHsc /I ".\..\..\..\lib\vc_dll\mswunivu" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c
# ADD CPP /nologo /FD /MD /Zi /Fdvc_mswunivudll\screenshotgen.pdb /O2 /GR /EHsc /I ".\..\..\..\lib\vc_dll\mswunivu" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c
# ADD BASE MTL /nologo /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD MTL /nologo /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i ".\..\..\..\lib\vc_dll\mswunivu" /i ".\..\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
# ADD RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i ".\..\..\..\lib\vc_dll\mswunivu" /i ".\..\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 wxmswuniv29u_aui.lib wxmswuniv29u_adv.lib wxmswuniv29u_richtext.lib wxmswuniv29u_html.lib wxbase29u_xml.lib wxmswuniv29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivudll\screenshotgen.exe" /debug /pdb:"vc_mswunivudll\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_dll" /subsystem:windows
# ADD LINK32 wxmswuniv29u_aui.lib wxmswuniv29u_adv.lib wxmswuniv29u_richtext.lib wxmswuniv29u_html.lib wxbase29u_xml.lib wxmswuniv29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivudll\screenshotgen.exe" /debug /pdb:"vc_mswunivudll\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_dll" /subsystem:windows
!ELSEIF "$(CFG)" == "screenshotgen - Win32 DLL Universal Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "vc_mswunivuddll"
# PROP BASE Intermediate_Dir "vc_mswunivuddll\screenshotgen"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "vc_mswunivuddll"
# PROP Intermediate_Dir "vc_mswunivuddll\screenshotgen"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /FD /MDd /Zi /Fdvc_mswunivuddll\screenshotgen.pdb /Od /Gm /GR /EHsc /I ".\..\..\..\lib\vc_dll\mswunivud" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c
# ADD CPP /nologo /FD /MDd /Zi /Fdvc_mswunivuddll\screenshotgen.pdb /Od /Gm /GR /EHsc /I ".\..\..\..\lib\vc_dll\mswunivud" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c
# ADD BASE MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\..\lib\vc_dll\mswunivud" /i ".\..\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\..\lib\vc_dll\mswunivud" /i ".\..\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 wxmswuniv29ud_aui.lib wxmswuniv29ud_adv.lib wxmswuniv29ud_richtext.lib wxmswuniv29ud_html.lib wxbase29ud_xml.lib wxmswuniv29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivuddll\screenshotgen.exe" /debug /pdb:"vc_mswunivuddll\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_dll" /subsystem:windows
# ADD LINK32 wxmswuniv29ud_aui.lib wxmswuniv29ud_adv.lib wxmswuniv29ud_richtext.lib wxmswuniv29ud_html.lib wxbase29ud_xml.lib wxmswuniv29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivuddll\screenshotgen.exe" /debug /pdb:"vc_mswunivuddll\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_dll" /subsystem:windows
!ELSEIF "$(CFG)" == "screenshotgen - Win32 DLL Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "vc_mswudll"
# PROP BASE Intermediate_Dir "vc_mswudll\screenshotgen"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "vc_mswudll"
# PROP Intermediate_Dir "vc_mswudll\screenshotgen"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /FD /MD /Zi /Fdvc_mswudll\screenshotgen.pdb /O2 /GR /EHsc /I ".\..\..\..\lib\vc_dll\mswu" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c
# ADD CPP /nologo /FD /MD /Zi /Fdvc_mswudll\screenshotgen.pdb /O2 /GR /EHsc /I ".\..\..\..\lib\vc_dll\mswu" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c
# ADD BASE MTL /nologo /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD MTL /nologo /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "_UNICODE" /i ".\..\..\..\lib\vc_dll\mswu" /i ".\..\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
# ADD RSC /l 0x409 /d "__WXMSW__" /d "_UNICODE" /i ".\..\..\..\lib\vc_dll\mswu" /i ".\..\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 wxmsw29u_aui.lib wxmsw29u_adv.lib wxmsw29u_richtext.lib wxmsw29u_html.lib wxbase29u_xml.lib wxmsw29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswudll\screenshotgen.exe" /debug /pdb:"vc_mswudll\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_dll" /subsystem:windows
# ADD LINK32 wxmsw29u_aui.lib wxmsw29u_adv.lib wxmsw29u_richtext.lib wxmsw29u_html.lib wxbase29u_xml.lib wxmsw29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswudll\screenshotgen.exe" /debug /pdb:"vc_mswudll\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_dll" /subsystem:windows
!ELSEIF "$(CFG)" == "screenshotgen - Win32 DLL Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "vc_mswuddll"
# PROP BASE Intermediate_Dir "vc_mswuddll\screenshotgen"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "vc_mswuddll"
# PROP Intermediate_Dir "vc_mswuddll\screenshotgen"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /FD /MDd /Zi /Fdvc_mswuddll\screenshotgen.pdb /Od /Gm /GR /EHsc /I ".\..\..\..\lib\vc_dll\mswud" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c
# ADD CPP /nologo /FD /MDd /Zi /Fdvc_mswuddll\screenshotgen.pdb /Od /Gm /GR /EHsc /I ".\..\..\..\lib\vc_dll\mswud" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c
# ADD BASE MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\..\lib\vc_dll\mswud" /i ".\..\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\..\lib\vc_dll\mswud" /i ".\..\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 wxmsw29ud_aui.lib wxmsw29ud_adv.lib wxmsw29ud_richtext.lib wxmsw29ud_html.lib wxbase29ud_xml.lib wxmsw29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswuddll\screenshotgen.exe" /debug /pdb:"vc_mswuddll\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_dll" /subsystem:windows
# ADD LINK32 wxmsw29ud_aui.lib wxmsw29ud_adv.lib wxmsw29ud_richtext.lib wxmsw29ud_html.lib wxbase29ud_xml.lib wxmsw29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswuddll\screenshotgen.exe" /debug /pdb:"vc_mswuddll\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_dll" /subsystem:windows
!ELSEIF "$(CFG)" == "screenshotgen - Win32 Universal Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "vc_mswunivu"
# PROP BASE Intermediate_Dir "vc_mswunivu\screenshotgen"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "vc_mswunivu"
# PROP Intermediate_Dir "vc_mswunivu\screenshotgen"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /FD /MD /Zi /Fdvc_mswunivu\screenshotgen.pdb /O2 /GR /EHsc /I ".\..\..\..\lib\vc_lib\mswunivu" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c
# ADD CPP /nologo /FD /MD /Zi /Fdvc_mswunivu\screenshotgen.pdb /O2 /GR /EHsc /I ".\..\..\..\lib\vc_lib\mswunivu" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c
# ADD BASE MTL /nologo /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD MTL /nologo /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i ".\..\..\..\lib\vc_lib\mswunivu" /i ".\..\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
# ADD RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i ".\..\..\..\lib\vc_lib\mswunivu" /i ".\..\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 wxmswuniv29u_aui.lib wxmswuniv29u_adv.lib wxmswuniv29u_richtext.lib wxmswuniv29u_html.lib wxbase29u_xml.lib wxmswuniv29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivu\screenshotgen.exe" /debug /pdb:"vc_mswunivu\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_lib" /subsystem:windows
# ADD LINK32 wxmswuniv29u_aui.lib wxmswuniv29u_adv.lib wxmswuniv29u_richtext.lib wxmswuniv29u_html.lib wxbase29u_xml.lib wxmswuniv29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivu\screenshotgen.exe" /debug /pdb:"vc_mswunivu\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_lib" /subsystem:windows
!ELSEIF "$(CFG)" == "screenshotgen - Win32 Universal Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "vc_mswunivud"
# PROP BASE Intermediate_Dir "vc_mswunivud\screenshotgen"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "vc_mswunivud"
# PROP Intermediate_Dir "vc_mswunivud\screenshotgen"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /FD /MDd /Zi /Fdvc_mswunivud\screenshotgen.pdb /Od /Gm /GR /EHsc /I ".\..\..\..\lib\vc_lib\mswunivud" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c
# ADD CPP /nologo /FD /MDd /Zi /Fdvc_mswunivud\screenshotgen.pdb /Od /Gm /GR /EHsc /I ".\..\..\..\lib\vc_lib\mswunivud" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c
# ADD BASE MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\..\lib\vc_lib\mswunivud" /i ".\..\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\..\lib\vc_lib\mswunivud" /i ".\..\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 wxmswuniv29ud_aui.lib wxmswuniv29ud_adv.lib wxmswuniv29ud_richtext.lib wxmswuniv29ud_html.lib wxbase29ud_xml.lib wxmswuniv29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivud\screenshotgen.exe" /debug /pdb:"vc_mswunivud\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_lib" /subsystem:windows
# ADD LINK32 wxmswuniv29ud_aui.lib wxmswuniv29ud_adv.lib wxmswuniv29ud_richtext.lib wxmswuniv29ud_html.lib wxbase29ud_xml.lib wxmswuniv29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivud\screenshotgen.exe" /debug /pdb:"vc_mswunivud\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_lib" /subsystem:windows
!ELSEIF "$(CFG)" == "screenshotgen - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "vc_mswu"
# PROP BASE Intermediate_Dir "vc_mswu\screenshotgen"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "vc_mswu"
# PROP Intermediate_Dir "vc_mswu\screenshotgen"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /FD /MD /Zi /Fdvc_mswu\screenshotgen.pdb /O2 /GR /EHsc /I ".\..\..\..\lib\vc_lib\mswu" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c
# ADD CPP /nologo /FD /MD /Zi /Fdvc_mswu\screenshotgen.pdb /O2 /GR /EHsc /I ".\..\..\..\lib\vc_lib\mswu" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c
# ADD BASE MTL /nologo /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD MTL /nologo /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "_UNICODE" /i ".\..\..\..\lib\vc_lib\mswu" /i ".\..\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
# ADD RSC /l 0x409 /d "__WXMSW__" /d "_UNICODE" /i ".\..\..\..\lib\vc_lib\mswu" /i ".\..\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 wxmsw29u_aui.lib wxmsw29u_adv.lib wxmsw29u_richtext.lib wxmsw29u_html.lib wxbase29u_xml.lib wxmsw29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswu\screenshotgen.exe" /debug /pdb:"vc_mswu\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_lib" /subsystem:windows
# ADD LINK32 wxmsw29u_aui.lib wxmsw29u_adv.lib wxmsw29u_richtext.lib wxmsw29u_html.lib wxbase29u_xml.lib wxmsw29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswu\screenshotgen.exe" /debug /pdb:"vc_mswu\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_lib" /subsystem:windows
!ELSEIF "$(CFG)" == "screenshotgen - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "vc_mswud"
# PROP BASE Intermediate_Dir "vc_mswud\screenshotgen"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "vc_mswud"
# PROP Intermediate_Dir "vc_mswud\screenshotgen"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /FD /MDd /Zi /Fdvc_mswud\screenshotgen.pdb /Od /Gm /GR /EHsc /I ".\..\..\..\lib\vc_lib\mswud" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c
# ADD CPP /nologo /FD /MDd /Zi /Fdvc_mswud\screenshotgen.pdb /Od /Gm /GR /EHsc /I ".\..\..\..\lib\vc_lib\mswud" /I ".\..\..\..\include" /W4 /I "." /I ".\..\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c
# ADD BASE MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\..\lib\vc_lib\mswud" /i ".\..\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\..\lib\vc_lib\mswud" /i ".\..\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\..\samples" /d NOPCH
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 wxmsw29ud_aui.lib wxmsw29ud_adv.lib wxmsw29ud_richtext.lib wxmsw29ud_html.lib wxbase29ud_xml.lib wxmsw29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswud\screenshotgen.exe" /debug /pdb:"vc_mswud\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_lib" /subsystem:windows
# ADD LINK32 wxmsw29ud_aui.lib wxmsw29ud_adv.lib wxmsw29ud_richtext.lib wxmsw29ud_html.lib wxbase29ud_xml.lib wxmsw29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswud\screenshotgen.exe" /debug /pdb:"vc_mswud\screenshotgen.pdb" /libpath:".\..\..\..\lib\vc_lib" /subsystem:windows
!ENDIF
# Begin Target
# Name "screenshotgen - Win32 DLL Universal Release"
# Name "screenshotgen - Win32 DLL Universal Debug"
# Name "screenshotgen - Win32 DLL Release"
# Name "screenshotgen - Win32 DLL Debug"
# Name "screenshotgen - Win32 Universal Release"
# Name "screenshotgen - Win32 Universal Debug"
# Name "screenshotgen - Win32 Release"
# Name "screenshotgen - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\autocapture.cpp
# End Source File
# Begin Source File
SOURCE=.\ctrlmaskout.cpp
# End Source File
# Begin Source File
SOURCE=.\customcombo.cpp
# End Source File
# Begin Source File
SOURCE=.\guiframe.cpp
# End Source File
# Begin Source File
SOURCE=.\screenshot_app.cpp
# End Source File
# Begin Source File
SOURCE=.\screenshot_main.cpp
# End Source File
# Begin Source File
SOURCE=.\screenshotgen.rc
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\autocapture.h
# End Source File
# Begin Source File
SOURCE=.\ctrlmaskout.h
# End Source File
# Begin Source File
SOURCE=.\customcombo.h
# End Source File
# Begin Source File
SOURCE=.\guiframe.h
# End Source File
# Begin Source File
SOURCE=.\screenshot_app.h
# End Source File
# Begin Source File
SOURCE=.\screenshot_main.h
# End Source File
# End Group
# End Target
# End Project

View File

@@ -0,0 +1,121 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "screenshotgen"=screenshotgen.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name aui
End Project Dependency
Begin Project Dependency
Project_Dep_Name adv
End Project Dependency
Begin Project Dependency
Project_Dep_Name richtext
End Project Dependency
Begin Project Dependency
Project_Dep_Name html
End Project Dependency
Begin Project Dependency
Project_Dep_Name xml
End Project Dependency
Begin Project Dependency
Project_Dep_Name core
End Project Dependency
Begin Project Dependency
Project_Dep_Name base
End Project Dependency
}}}
###############################################################################
Project: "aui"=..\..\..\build\msw\wx_aui.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "adv"=..\..\..\build\msw\wx_adv.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "richtext"=..\..\..\build\msw\wx_richtext.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "html"=..\..\..\build\msw\wx_html.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "xml"=..\..\..\build\msw\wx_xml.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "core"=..\..\..\build\msw\wx_core.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "base"=..\..\..\build\msw\wx_base.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################

View File

@@ -0,0 +1 @@
#include "wx/msw/wx.rc"

View File

@@ -0,0 +1,37 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "screenshotgen", "screenshotgen_vc7.vcproj", "{65A1C4C8-E1D5-5972-8550-0F5631031FBB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
DLL Universal Release|Win32 = DLL Universal Release|Win32
DLL Universal Debug|Win32 = DLL Universal Debug|Win32
DLL Release|Win32 = DLL Release|Win32
DLL Debug|Win32 = DLL Debug|Win32
Universal Release|Win32 = Universal Release|Win32
Universal Debug|Win32 = Universal Debug|Win32
Release|Win32 = Release|Win32
Debug|Win32 = Debug|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.DLL Universal Release|Win32.ActiveCfg = DLL Universal Release|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.DLL Universal Release|Win32.Build.0 = DLL Universal Release|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.DLL Universal Debug|Win32.ActiveCfg = DLL Universal Debug|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.DLL Universal Debug|Win32.Build.0 = DLL Universal Debug|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.DLL Release|Win32.Build.0 = DLL Release|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.Universal Release|Win32.ActiveCfg = Universal Release|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.Universal Release|Win32.Build.0 = Universal Release|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.Universal Debug|Win32.ActiveCfg = Universal Debug|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.Universal Debug|Win32.Build.0 = Universal Debug|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.Release|Win32.ActiveCfg = Release|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.Release|Win32.Build.0 = Release|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.Debug|Win32.ActiveCfg = Debug|Win32
{65A1C4C8-E1D5-5972-8550-0F5631031FBB}.Debug|Win32.Build.0 = Debug|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,583 @@
<?xml version="1.0" encoding="Windows-1252"?>
<!--
This makefile was generated by
Bakefile 0.2.4 (http://www.bakefile.org)
Do not modify, all changes will be overwritten!
-->
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="screenshotgen"
ProjectGUID="{65A1C4C8-E1D5-5972-8550-0F5631031FBB}">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="DLL Universal Release|Win32"
OutputDirectory="vc_mswunivudll"
IntermediateDirectory="vc_mswunivudll\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="1">
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswunivu;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
ExceptionHandling="TRUE"
RuntimeLibrary="2"
RuntimeTypeInfo="TRUE"
AssemblerListingLocation="vc_mswunivudll\screenshotgen\"
ObjectFile="vc_mswunivudll\screenshotgen\"
ProgramDataBaseFileName="vc_mswunivudll\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmswuniv29u_aui.lib wxmswuniv29u_adv.lib wxmswuniv29u_richtext.lib wxmswuniv29u_html.lib wxbase29u_xml.lib wxmswuniv29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswunivudll\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_dll"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="vc_mswunivudll\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswunivu;.\..\..\..\include;.;.\..\..\..\samples"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="DLL Universal Debug|Win32"
OutputDirectory="vc_mswunivuddll"
IntermediateDirectory="vc_mswunivuddll\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="1">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswunivud;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
MinimalRebuild="TRUE"
ExceptionHandling="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="TRUE"
RuntimeTypeInfo="TRUE"
AssemblerListingLocation="vc_mswunivuddll\screenshotgen\"
ObjectFile="vc_mswunivuddll\screenshotgen\"
ProgramDataBaseFileName="vc_mswunivuddll\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmswuniv29ud_aui.lib wxmswuniv29ud_adv.lib wxmswuniv29ud_richtext.lib wxmswuniv29ud_html.lib wxbase29ud_xml.lib wxmswuniv29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswunivuddll\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_dll"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="vc_mswunivuddll\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswunivud;.\..\..\..\include;.;.\..\..\..\samples"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="DLL Release|Win32"
OutputDirectory="vc_mswudll"
IntermediateDirectory="vc_mswudll\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="1">
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswu;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
ExceptionHandling="TRUE"
RuntimeLibrary="2"
RuntimeTypeInfo="TRUE"
AssemblerListingLocation="vc_mswudll\screenshotgen\"
ObjectFile="vc_mswudll\screenshotgen\"
ProgramDataBaseFileName="vc_mswudll\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmsw29u_aui.lib wxmsw29u_adv.lib wxmsw29u_richtext.lib wxmsw29u_html.lib wxbase29u_xml.lib wxmsw29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswudll\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_dll"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="vc_mswudll\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswu;.\..\..\..\include;.;.\..\..\..\samples"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="DLL Debug|Win32"
OutputDirectory="vc_mswuddll"
IntermediateDirectory="vc_mswuddll\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="1">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswud;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
MinimalRebuild="TRUE"
ExceptionHandling="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="TRUE"
RuntimeTypeInfo="TRUE"
AssemblerListingLocation="vc_mswuddll\screenshotgen\"
ObjectFile="vc_mswuddll\screenshotgen\"
ProgramDataBaseFileName="vc_mswuddll\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmsw29ud_aui.lib wxmsw29ud_adv.lib wxmsw29ud_richtext.lib wxmsw29ud_html.lib wxbase29ud_xml.lib wxmsw29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswuddll\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_dll"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="vc_mswuddll\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswud;.\..\..\..\include;.;.\..\..\..\samples"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Universal Release|Win32"
OutputDirectory="vc_mswunivu"
IntermediateDirectory="vc_mswunivu\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="1">
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswunivu;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;_WINDOWS;NOPCH"
ExceptionHandling="TRUE"
RuntimeLibrary="2"
RuntimeTypeInfo="TRUE"
AssemblerListingLocation="vc_mswunivu\screenshotgen\"
ObjectFile="vc_mswunivu\screenshotgen\"
ProgramDataBaseFileName="vc_mswunivu\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmswuniv29u_aui.lib wxmswuniv29u_adv.lib wxmswuniv29u_richtext.lib wxmswuniv29u_html.lib wxbase29u_xml.lib wxmswuniv29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswunivu\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_lib"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="vc_mswunivu\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswunivu;.\..\..\..\include;.;.\..\..\..\samples"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Universal Debug|Win32"
OutputDirectory="vc_mswunivud"
IntermediateDirectory="vc_mswunivud\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="1">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswunivud;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"
MinimalRebuild="TRUE"
ExceptionHandling="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="TRUE"
RuntimeTypeInfo="TRUE"
AssemblerListingLocation="vc_mswunivud\screenshotgen\"
ObjectFile="vc_mswunivud\screenshotgen\"
ProgramDataBaseFileName="vc_mswunivud\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmswuniv29ud_aui.lib wxmswuniv29ud_adv.lib wxmswuniv29ud_richtext.lib wxmswuniv29ud_html.lib wxbase29ud_xml.lib wxmswuniv29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswunivud\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_lib"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="vc_mswunivud\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswunivud;.\..\..\..\include;.;.\..\..\..\samples"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="vc_mswu"
IntermediateDirectory="vc_mswu\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="1">
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswu;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="__WXMSW__;_UNICODE;_WINDOWS;NOPCH"
ExceptionHandling="TRUE"
RuntimeLibrary="2"
RuntimeTypeInfo="TRUE"
AssemblerListingLocation="vc_mswu\screenshotgen\"
ObjectFile="vc_mswu\screenshotgen\"
ProgramDataBaseFileName="vc_mswu\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmsw29u_aui.lib wxmsw29u_adv.lib wxmsw29u_richtext.lib wxmsw29u_html.lib wxbase29u_xml.lib wxmsw29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswu\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_lib"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="vc_mswu\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="__WXMSW__;_UNICODE;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswu;.\..\..\..\include;.;.\..\..\..\samples"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory="vc_mswud"
IntermediateDirectory="vc_mswud\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="1">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswud;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"
MinimalRebuild="TRUE"
ExceptionHandling="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="TRUE"
RuntimeTypeInfo="TRUE"
AssemblerListingLocation="vc_mswud\screenshotgen\"
ObjectFile="vc_mswud\screenshotgen\"
ProgramDataBaseFileName="vc_mswud\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmsw29ud_aui.lib wxmsw29ud_adv.lib wxmsw29ud_richtext.lib wxmsw29ud_html.lib wxbase29ud_xml.lib wxmsw29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswud\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_lib"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="vc_mswud\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswud;.\..\..\..\include;.;.\..\..\..\samples"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\autocapture.cpp">
</File>
<File
RelativePath=".\ctrlmaskout.cpp">
</File>
<File
RelativePath=".\customcombo.cpp">
</File>
<File
RelativePath=".\guiframe.cpp">
</File>
<File
RelativePath=".\screenshot_app.cpp">
</File>
<File
RelativePath=".\screenshot_main.cpp">
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
<File
RelativePath=".\autocapture.h">
</File>
<File
RelativePath=".\ctrlmaskout.h">
</File>
<File
RelativePath=".\customcombo.h">
</File>
<File
RelativePath=".\guiframe.h">
</File>
<File
RelativePath=".\screenshot_app.h">
</File>
<File
RelativePath=".\screenshot_main.h">
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
<File
RelativePath=".\screenshotgen.rc">
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -0,0 +1,38 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "screenshotgen", "screenshotgen_vc8.vcproj", "{D36F115C-330D-5EAE-B66F-885D6BE20540}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
DLL Universal Release|Win32 = DLL Universal Release|Win32
DLL Universal Debug|Win32 = DLL Universal Debug|Win32
DLL Release|Win32 = DLL Release|Win32
DLL Debug|Win32 = DLL Debug|Win32
Universal Release|Win32 = Universal Release|Win32
Universal Debug|Win32 = Universal Debug|Win32
Release|Win32 = Release|Win32
Debug|Win32 = Debug|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D36F115C-330D-5EAE-B66F-885D6BE20540}.DLL Universal Release|Win32.ActiveCfg = DLL Universal Release|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.DLL Universal Release|Win32.Build.0 = DLL Universal Release|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.DLL Universal Debug|Win32.ActiveCfg = DLL Universal Debug|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.DLL Universal Debug|Win32.Build.0 = DLL Universal Debug|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.DLL Release|Win32.Build.0 = DLL Release|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.Universal Release|Win32.ActiveCfg = Universal Release|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.Universal Release|Win32.Build.0 = Universal Release|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.Universal Debug|Win32.ActiveCfg = Universal Debug|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.Universal Debug|Win32.Build.0 = Universal Debug|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.Release|Win32.ActiveCfg = Release|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.Release|Win32.Build.0 = Release|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.Debug|Win32.ActiveCfg = Debug|Win32
{D36F115C-330D-5EAE-B66F-885D6BE20540}.Debug|Win32.Build.0 = Debug|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,860 @@
<?xml version="1.0" encoding="Windows-1252"?>
<!--
This makefile was generated by
Bakefile 0.2.4 (http://www.bakefile.org)
Do not modify, all changes will be overwritten!
-->
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="screenshotgen"
ProjectGUID="{D36F115C-330D-5EAE-B66F-885D6BE20540}"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="DLL Universal Release|Win32"
OutputDirectory="vc_mswunivudll"
IntermediateDirectory="vc_mswunivudll\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswunivu;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
ExceptionHandling="1"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
AssemblerListingLocation="vc_mswunivudll\screenshotgen\"
ObjectFile="vc_mswunivudll\screenshotgen\"
ProgramDataBaseFileName="vc_mswunivudll\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="true"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswunivu;.\..\..\..\include;.;.\..\..\..\samples"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmswuniv29u_aui.lib wxmswuniv29u_adv.lib wxmswuniv29u_richtext.lib wxmswuniv29u_html.lib wxbase29u_xml.lib wxmswuniv29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswunivudll\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_dll"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswunivudll\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswunivudll\screenshotgen_vc8.bsc"
SuppressStartupBanner="true"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="DLL Universal Debug|Win32"
OutputDirectory="vc_mswunivuddll"
IntermediateDirectory="vc_mswunivuddll\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswunivud;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
MinimalRebuild="true"
ExceptionHandling="1"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
RuntimeTypeInfo="true"
AssemblerListingLocation="vc_mswunivuddll\screenshotgen\"
ObjectFile="vc_mswunivuddll\screenshotgen\"
ProgramDataBaseFileName="vc_mswunivuddll\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="true"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswunivud;.\..\..\..\include;.;.\..\..\..\samples"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmswuniv29ud_aui.lib wxmswuniv29ud_adv.lib wxmswuniv29ud_richtext.lib wxmswuniv29ud_html.lib wxbase29ud_xml.lib wxmswuniv29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswunivuddll\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_dll"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswunivuddll\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswunivuddll\screenshotgen_vc8.bsc"
SuppressStartupBanner="true"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="DLL Release|Win32"
OutputDirectory="vc_mswudll"
IntermediateDirectory="vc_mswudll\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswu;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
ExceptionHandling="1"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
AssemblerListingLocation="vc_mswudll\screenshotgen\"
ObjectFile="vc_mswudll\screenshotgen\"
ProgramDataBaseFileName="vc_mswudll\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="true"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswu;.\..\..\..\include;.;.\..\..\..\samples"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmsw29u_aui.lib wxmsw29u_adv.lib wxmsw29u_richtext.lib wxmsw29u_html.lib wxbase29u_xml.lib wxmsw29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswudll\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_dll"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswudll\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswudll\screenshotgen_vc8.bsc"
SuppressStartupBanner="true"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="DLL Debug|Win32"
OutputDirectory="vc_mswuddll"
IntermediateDirectory="vc_mswuddll\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswud;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
MinimalRebuild="true"
ExceptionHandling="1"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
RuntimeTypeInfo="true"
AssemblerListingLocation="vc_mswuddll\screenshotgen\"
ObjectFile="vc_mswuddll\screenshotgen\"
ProgramDataBaseFileName="vc_mswuddll\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="true"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_dll\mswud;.\..\..\..\include;.;.\..\..\..\samples"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmsw29ud_aui.lib wxmsw29ud_adv.lib wxmsw29ud_richtext.lib wxmsw29ud_html.lib wxbase29ud_xml.lib wxmsw29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswuddll\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_dll"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswuddll\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswuddll\screenshotgen_vc8.bsc"
SuppressStartupBanner="true"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Universal Release|Win32"
OutputDirectory="vc_mswunivu"
IntermediateDirectory="vc_mswunivu\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswunivu;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;_WINDOWS;NOPCH"
ExceptionHandling="1"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
AssemblerListingLocation="vc_mswunivu\screenshotgen\"
ObjectFile="vc_mswunivu\screenshotgen\"
ProgramDataBaseFileName="vc_mswunivu\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="true"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswunivu;.\..\..\..\include;.;.\..\..\..\samples"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmswuniv29u_aui.lib wxmswuniv29u_adv.lib wxmswuniv29u_richtext.lib wxmswuniv29u_html.lib wxbase29u_xml.lib wxmswuniv29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswunivu\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_lib"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswunivu\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswunivu\screenshotgen_vc8.bsc"
SuppressStartupBanner="true"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Universal Debug|Win32"
OutputDirectory="vc_mswunivud"
IntermediateDirectory="vc_mswunivud\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswunivud;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"
MinimalRebuild="true"
ExceptionHandling="1"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
RuntimeTypeInfo="true"
AssemblerListingLocation="vc_mswunivud\screenshotgen\"
ObjectFile="vc_mswunivud\screenshotgen\"
ProgramDataBaseFileName="vc_mswunivud\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="true"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswunivud;.\..\..\..\include;.;.\..\..\..\samples"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmswuniv29ud_aui.lib wxmswuniv29ud_adv.lib wxmswuniv29ud_richtext.lib wxmswuniv29ud_html.lib wxbase29ud_xml.lib wxmswuniv29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswunivud\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_lib"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswunivud\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswunivud\screenshotgen_vc8.bsc"
SuppressStartupBanner="true"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="vc_mswu"
IntermediateDirectory="vc_mswu\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswu;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="__WXMSW__;_UNICODE;_WINDOWS;NOPCH"
ExceptionHandling="1"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
AssemblerListingLocation="vc_mswu\screenshotgen\"
ObjectFile="vc_mswu\screenshotgen\"
ProgramDataBaseFileName="vc_mswu\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="true"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="__WXMSW__;_UNICODE;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswu;.\..\..\..\include;.;.\..\..\..\samples"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmsw29u_aui.lib wxmsw29u_adv.lib wxmsw29u_richtext.lib wxmsw29u_html.lib wxbase29u_xml.lib wxmsw29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswu\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_lib"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswu\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswu\screenshotgen_vc8.bsc"
SuppressStartupBanner="true"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory="vc_mswud"
IntermediateDirectory="vc_mswud\screenshotgen"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswud;.\..\..\..\include;.;.\..\..\..\samples"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"
MinimalRebuild="true"
ExceptionHandling="1"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
RuntimeTypeInfo="true"
AssemblerListingLocation="vc_mswud\screenshotgen\"
ObjectFile="vc_mswud\screenshotgen\"
ProgramDataBaseFileName="vc_mswud\screenshotgen.pdb"
WarningLevel="4"
SuppressStartupBanner="true"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"
Culture="1033"
AdditionalIncludeDirectories=".\..\..\..\lib\vc_lib\mswud;.\..\..\..\include;.;.\..\..\..\samples"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions=""
AdditionalDependencies="wxmsw29ud_aui.lib wxmsw29ud_adv.lib wxmsw29ud_richtext.lib wxmsw29ud_html.lib wxbase29ud_xml.lib wxmsw29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"
OutputFile="vc_mswud\screenshotgen.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories=".\..\..\..\lib\vc_lib"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswud\screenshotgen.pdb"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
OutputFile="vc_mswud\screenshotgen_vc8.bsc"
SuppressStartupBanner="true"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\autocapture.cpp"
>
</File>
<File
RelativePath=".\ctrlmaskout.cpp"
>
</File>
<File
RelativePath=".\customcombo.cpp"
>
</File>
<File
RelativePath=".\guiframe.cpp"
>
</File>
<File
RelativePath=".\screenshot_app.cpp"
>
</File>
<File
RelativePath=".\screenshot_main.cpp"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\autocapture.h"
>
</File>
<File
RelativePath=".\ctrlmaskout.h"
>
</File>
<File
RelativePath=".\customcombo.h"
>
</File>
<File
RelativePath=".\guiframe.h"
>
</File>
<File
RelativePath=".\screenshot_app.h"
>
</File>
<File
RelativePath=".\screenshot_main.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File
RelativePath=".\screenshotgen.rc"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>