From ffad932289d17877a506a51c5f2f32c743d747d8 Mon Sep 17 00:00:00 2001 From: Fabien Costantini Date: Thu, 25 Sep 2008 18:26:33 +0000 Subject: + Cairo branch merged after successful testing on Mac OS X 10.5.4, Linux Ubuntu 8.04,Windows XPSP2. This integration is minimum as discussed, in particular it does not feature any fltk cairo drawing substitution as in fltk2. Still it provides all the fundations to go further even in next 1.4 ... By default *no* cairo features are implemented nor linked, it can only be activated by --enable-cairo whose default is false. Please visit the README.cairo for complete description. + fixed UTF8 compilation pb on linux ubuntu + minor comments fixes on the fly git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6350 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- FL/Fl.H | 57 +- FL/Fl_Cairo.H | 98 + FL/Fl_Cairo_Window.H | 87 + FL/win32.H | 10 +- README.cairo | 74 + TODO.cairo | 35 - configh.in | 18 + configure.in | 23 +- documentation/Doxyfile | 3 +- src/Fl.cxx | 5 +- src/Fl_Cairo.cxx | 151 ++ src/Fl_Double_Window.cxx | 3 + src/Fl_Menu_Window.cxx | 7 +- src/Fl_Overlay_Window.cxx | 7 +- src/Fl_Text_Buffer.cxx | 19 +- src/Fl_Window.cxx | 6 +- src/Fl_mac.cxx | 13 +- src/Fl_win32.cxx | 3 + src/Fl_x.cxx | 6 + src/Makefile | 1 + src/xutf8/utf8Input.c | 2 +- test/Makefile | 3 + test/cairo_test.cxx | 168 ++ vc2005/CubeView.vcproj | 268 ++- vc2005/adjuster.vcproj | 209 +- vc2005/arc.vcproj | 209 +- vc2005/ask.vcproj | 209 +- vc2005/bitmap.vcproj | 209 +- vc2005/boxtype.vcproj | 209 +- vc2005/browser.vcproj | 209 +- vc2005/button.vcproj | 209 +- vc2005/buttons.vcproj | 209 +- vc2005/cairo_test.vcproj | 442 ++++ vc2005/checkers.vcproj | 209 +- vc2005/clock.vcproj | 209 +- vc2005/colbrowser.vcproj | 209 +- vc2005/color_chooser.vcproj | 207 +- vc2005/config.h | 7 + vc2005/cube.vcproj | 209 +- vc2005/cursor.vcproj | 209 +- vc2005/curve.vcproj | 209 +- vc2005/demo.vcproj | 209 +- vc2005/doublebuffer.vcproj | 209 +- vc2005/editor.vcproj | 211 +- vc2005/fast_slow.vcproj | 229 ++- vc2005/file_chooser.vcproj | 209 +- vc2005/fltk.lib.vcproj | 3729 +++++++++++++++++++++++++++++----- vc2005/fltk.sln | 296 +++ vc2005/fltkdll.vcproj | 4532 +++++++++++++++++++++++++++++++++++------- vc2005/fltkforms.vcproj | 271 ++- vc2005/fltkgl.vcproj | 292 ++- vc2005/fltkimages.vcproj | 313 ++- vc2005/fluid.vcproj | 550 ++++- vc2005/fonts.vcproj | 209 +- vc2005/forms.vcproj | 209 +- vc2005/fractals.vcproj | 228 ++- vc2005/fullscreen.vcproj | 209 +- vc2005/gl_overlay.vcproj | 209 +- vc2005/glpuzzle.vcproj | 209 +- vc2005/hello.vcproj | 209 +- vc2005/help.vcproj | 209 +- vc2005/iconize.vcproj | 209 +- vc2005/image.vcproj | 209 +- vc2005/inactive.vcproj | 229 ++- vc2005/input.vcproj | 209 +- vc2005/input_choice.vcproj | 209 +- vc2005/jpeg.vcproj | 1350 +++++++++++-- vc2005/keyboard.vcproj | 248 ++- vc2005/label.vcproj | 209 +- vc2005/libpng.vcproj | 444 ++++- vc2005/line_style.vcproj | 209 +- vc2005/mandelbrot.vcproj | 248 ++- vc2005/menubar.vcproj | 207 +- vc2005/message.vcproj | 209 +- vc2005/minimum.vcproj | 209 +- vc2005/navigation.vcproj | 209 +- vc2005/output.vcproj | 209 +- vc2005/overlay.vcproj | 209 +- vc2005/pack.vcproj | 209 +- vc2005/pixmap.vcproj | 209 +- vc2005/pixmap_browser.vcproj | 209 +- vc2005/preferences.vcproj | 229 ++- vc2005/radio.vcproj | 229 ++- vc2005/resize.vcproj | 229 ++- vc2005/resizebox.vcproj | 209 +- vc2005/scroll.vcproj | 209 +- vc2005/shape.vcproj | 209 +- vc2005/subwindow.vcproj | 209 +- vc2005/sudoku.vcproj | 209 +- vc2005/symbols.vcproj | 209 +- vc2005/tabs.vcproj | 229 ++- vc2005/threads.vcproj | 209 +- vc2005/tile.vcproj | 209 +- vc2005/tiled_image.vcproj | 209 +- vc2005/utf8.vcproj | 209 +- vc2005/valuators.vcproj | 229 ++- vc2005/zlib.vcproj | 363 +++- 97 files changed, 25135 insertions(+), 1505 deletions(-) create mode 100644 FL/Fl_Cairo.H create mode 100644 FL/Fl_Cairo_Window.H create mode 100644 README.cairo delete mode 100644 TODO.cairo create mode 100644 src/Fl_Cairo.cxx create mode 100644 test/cairo_test.cxx create mode 100644 vc2005/cairo_test.vcproj diff --git a/FL/Fl.H b/FL/Fl.H index df1b9d861..88d963d5c 100644 --- a/FL/Fl.H +++ b/FL/Fl.H @@ -25,14 +25,17 @@ // http://www.fltk.org/str.php // -/** \file - - * Fl static class . +/** \file + Fl static class . */ #ifndef Fl_H # define Fl_H +#ifdef HAVE_CAIRO +# include +#endif + # include "fl_utf8.h" # include "Enumerations.H" # ifndef Fl_Object @@ -43,6 +46,7 @@ # undef check # endif + class Fl_Widget; class Fl_Window; class Fl_Image; @@ -800,6 +804,53 @@ public: static void clear_widget_pointer(Fl_Widget const *w); /** @} */ +#ifdef HAVE_CAIRO + /** \defgroup group_cairo Cairo functions support + @{ + */ +public: + // Cairo support API + static cairo_t * cairo_make_current(Fl_Window* w); + /** when HAVE_CAIRO is defined and cairo_autolink_context() is true, + any current window dc is linked to a current context. + this is not the default because, it may not be necessary + to add cairo support to all fltk supported windows. + When you wish to associate a cairo context in this mode, + you need to call explicitly in your draw() overriden method, + FL::cairo_make_current(Fl_Window*). This will create a cairo context + but only for this Window. + Still in custom cairo application it is possible to handle + completely this process automatically by setting \a alink to true. + In this last case, you don't need anymore to call Fl::cairo_make_current() + you can use Fl::cairo_cc() to get the current cairo context anytime. + \note Only available when configure has the --enable-cairo option + */ + static void cairo_autolink_context(bool alink) {cairo_state_.autolink(alink);} + /** + Gets the current autolink mode for cairo support, + \retval false if no cairo context autolink is made for each window. + \retval true if any fltk window is attached a cairo context when it + is current. \see void cairo_autolink_context(bool alink) + \note Only available when configure has the --enable-cairo option + */ + static bool cairo_autolink_context() {return cairo_state_.autolink();} + /** Gets the current cairo context linked with a fltk window. */ + static cairo_t * cairo_cc() { return cairo_state_.cc(); } + /** Sets the cairo current context to \a c, + set \a own to true if you want fltk to handle this cc deletion. + \note Only available when configure has the --enable-cairo option +*/ + static void cairo_cc(cairo_t * c, bool own=false){ cairo_state_.cc(c, own); } + +private: + static cairo_t * cairo_make_current(void* gc); + static cairo_t * cairo_make_current(void* gc, int W, int H); + static Fl_Cairo_State cairo_state_; +public: + /** @} */ + +#endif // HAVE_CAIRO + }; #endif // !Fl_H diff --git a/FL/Fl_Cairo.H b/FL/Fl_Cairo.H new file mode 100644 index 000000000..15cd14831 --- /dev/null +++ b/FL/Fl_Cairo.H @@ -0,0 +1,98 @@ +// +// "$Id$" +// +// Main header file for the Fast Light Tool Kit (FLTK). +// +// Copyright 1998-2008 by Bill Spitzak and others. +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Library General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Library General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +// USA. +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +/** \file + Hanling transparently platform dependent cairo include files +*/ + +#ifndef FL_CAIRO_H +# define FL_CAIRO_H +# ifdef HAVE_CAIRO + +// Cairo is currently supported for the following platforms: +// Win32, Apple Quartz, X11 + +# include + +# if defined(USE_X11) // X11 +# include +# elif defined(WIN32) +# include +# elif defined(__APPLE_QUARTZ__) +# include +# elif defined(__APPLE_QD__) +# error Apple Quartz is necessary for Cairo upport. +# else +# error Cairo is not supported on that platform. +# endif + +/** + \addtogroup group_cairo + @{ +*/ + +/** + Contains all the necessary info on the current cairo context. + A private internal & unique corresponding object is created to + permit cairo context state handling while keeping it opaque. + For internal use only. + \note Only available when configure has the --enable-cairo option +*/ +class FL_EXPORT Fl_Cairo_State { +public: + Fl_Cairo_State() : cc_(0), own_cc_(false), autolink_(false), window_(0), gc_(0) {} + + // access attributes + cairo_t* cc() const {return cc_;} ///< Gets the current cairo context + bool autolink() const {return autolink_;} ///< Sets the autolink option \see Fl:cairo_autolink_context(bool) + void cc(cairo_t* c, bool own=true) { ///< Sets the current cairo context, \a own indicates cc deletion is made by us + if (cc_ && own_cc_) cairo_destroy(cc_); + cc_=c; + if (!cc_) window_=0; + own_cc_=own; + } + void autolink(bool b) {autolink_ = b;} ///< Gets the autolink option + void window(void* w) {window_=w;} ///< Sets the window \w to keep track on + void* window() const {return window_;} ///< Gets the last window attached to a cc + void gc(void* c) {gc_=c;} ///< Sets the gc \c to keep track on + void* gc() const {return gc_;} ///< Gets the last gc attached to a cc + +private: + cairo_t * cc_; // contains the unique autoupdated cairo context + bool own_cc_; // indicates whether we must delete the cc, useful for internal cleanup + bool autolink_; // true by default, permits to prevent the automatic cairo mapping on fltk windows for custom cairo implementations + void* window_, *gc_; // for keeping track internally of last win+gc treated +}; + +/** @} */ + +# endif // HAVE_CAIRO +#endif // FL_CAIRO_H + +// +// End of "$Id$" . +// diff --git a/FL/Fl_Cairo_Window.H b/FL/Fl_Cairo_Window.H new file mode 100644 index 000000000..3914657a9 --- /dev/null +++ b/FL/Fl_Cairo_Window.H @@ -0,0 +1,87 @@ +// +// "$Id$" +// +// Main header file for the Fast Light Tool Kit (FLTK). +// +// Copyright 1998-2008 by Bill Spitzak and others. +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Library General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Library General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +// USA. +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +/** \file + Fl_Cairo_Window Hanling transparently a fltk window incorporte a cairo draw callback. +*/ + +#ifndef FL_CAIRO_WINDOW_H +# define FL_CAIRO_WINDOW_H +# ifdef HAVE_CAIRO + +// Cairo is currently supported for the following platforms: +// Win32, Apple Quartz, X11 +# include +# include + +/** + \addtogroup group_cairo + @{ +*/ + +/** + This defines a pre-configured cairo fltk window. + This class overloads for you the virtual draw() method, + so that the only thing you have to do is to provide your cairo code. + All cairo context handling is achieved transparently. + \note You can alternatively define your custom cairo fltk window, + and thus at least override the draw() method to provide custom cairo + support. In this case you will probably use Fl:cairo_make_current(Fl_Window*) + to attach a context to your window. You should do it on ly when your Window is + the current window. \see Fl_Window::current() +*/ +class FL_EXPORT Fl_Cairo_Window : public Fl_Double_Window { +public: + Fl_Cairo_Window(int w, int h) : Fl_Double_Window(w,h),draw_cb_(0) {} + /** Overloaded to provide cairo callback support */ + void draw() { + Fl_Double_Window::draw(); + // manual method ? if yes explicitly get a cairo_context here + if (!Fl::cairo_autolink_context()) + Fl::cairo_make_current(this); + if (draw_cb_) draw_cb_(this, Fl::cairo_cc()); + } + /** This defines the cairo draw calback prototype that you must further */ + typedef void (*cairo_draw_cb) (Fl_Cairo_Window* self, cairo_t* def); + /** + You must provide a draw callback which will implement your cairo rendering, + This method will permit you to set you \a cb cairo callback. + */ + void set_draw_cb(cairo_draw_cb cb){draw_cb_=cb;} +private: + cairo_draw_cb draw_cb_; +}; + + +/** @} */ + +# endif // HAVE_CAIRO +#endif // FL_CAIRO_WINDOW_H + +// +// End of "$Id$" . +// diff --git a/FL/win32.H b/FL/win32.H index e58dbfb39..b03c6ef44 100644 --- a/FL/win32.H +++ b/FL/win32.H @@ -125,12 +125,12 @@ typedef HBITMAP Fl_Offscreen; extern FL_EXPORT HDC fl_makeDC(HBITMAP); -#define fl_begin_offscreen(b) \ - HDC _sgc=fl_gc; Window _sw=fl_window; \ - fl_gc=fl_makeDC(b); int _savedc = SaveDC(fl_gc); fl_window=(HWND)b; fl_push_no_clip() +# define fl_begin_offscreen(b) \ + HDC _sgc=fl_gc; Window _sw=fl_window; \ + fl_gc=fl_makeDC(b); int _savedc = SaveDC(fl_gc); fl_window=(HWND)b; fl_push_no_clip() -#define fl_end_offscreen() \ - fl_pop_clip(); RestoreDC(fl_gc, _savedc); DeleteDC(fl_gc); fl_window=_sw; fl_gc = _sgc +# define fl_end_offscreen() \ + fl_pop_clip(); RestoreDC(fl_gc, _savedc); DeleteDC(fl_gc); fl_window=_sw; fl_gc = _sgc FL_EXPORT void fl_copy_offscreen(int x,int y,int w,int h,HBITMAP pixmap,int srcx,int srcy); FL_EXPORT void fl_copy_offscreen_with_alpha(int x,int y,int w,int h,HBITMAP pixmap,int srcx,int srcy); diff --git a/README.cairo b/README.cairo new file mode 100644 index 000000000..fa5260c8d --- /dev/null +++ b/README.cairo @@ -0,0 +1,74 @@ +Cairo Support for fltk 1.3 +=========================== + +It is now possible to integrate cairo rendering in your fltk application +more easily and transparently. +In 1.3, we provide minimum support for Cairo, +In particular, no "total" cairo rendering layer support is achieved, +as in fltk2. + +Configuration: +------------- +All the changes are *inactive* as long as the new configuration +option --enable-cairo is not added to the configure command. +For non configure based platforms/ide, the HAVE_CAIRO preprocess var. +has to be defined. +All configure based build files has now this feature integrated, +also vc2005 build files have 2 new build modes "Release Cairo" and +"Debug Cairo". +Others IDE's will be updated progressively. + +The current support consist in : +------------------------------- +- Adding a new Fl_Cairo_Window class permitting transparent and easy +integration of a Cairo draw callback without the need to achieve subclassing. + +- Adding a Fl::cairo_make_current(Fl_Window*) function only providing +transparently a cairo context to your custom Fl_Window derived class. +This function is intended to be used in your overloaded draw() method. + +- Adding an optional cairo autolink context mode support (disabled by default) + which permits complete & automatic synchronization of OS dependent graphical + context and cairo contexts, thus furthering a valid cairo context anytime, + in any current window. + This feature should be only necessary in the following cases: + - Intensive and almost systematic use of cairo contexts in an fltk application + - Creation of a new cairo based scheme for fltk ... + - Other uses of cairo necessiting the flk internals instrumentation + to automatically making possible the use of a cairo context + in any fltk window. + +- A new cairo demo that is available in the test subdirectory and has been + used as a testcase durings the multiplatform tests. + +For more details, please have a look to the doxygen documentation, +in the Modules section. + +----------------------------------------------------------------------- +Reminder for potential future considerations + +From Bill: +First there is the HAVE_CAIRO configuration option. This indicates that +any cairo calls are available. In this case you get something like this: + +// static variable holding the last cairo context fltk set: +cairo_t* Fl::cr; + +// Make cr draw in this window. This hides the ugly platform-dependent +// part of getting cairo going: +void Fl::cairo_make_current(Fl_Window*) + +*** POST 1.3 potential cairo use: +// Set cr to something you made yourself. This lets you reuse functions +// that use cr, and also tells fltk that cr is not one of it's own and +// thus cannot be destroyed or reused for a different window: +void Fl::cairo_make_current(cairo_t*) + +Second there is the USE_CAIRO configuration option. This means that all +drawing is done using Cairo. In this case when a widget draw() method is +called, it is exactly as though cairo_make_current(window) has been done. +*** + +Note that it should be possible to compile so HAVE_CAIRO works even if +USE_CAIRO does not, and so that turning on USE_CAIRO does not break any +programs written for HAVE_CAIRO. diff --git a/TODO.cairo b/TODO.cairo deleted file mode 100644 index 0f3505155..000000000 --- a/TODO.cairo +++ /dev/null @@ -1,35 +0,0 @@ -Reminder for present and potential future considerations - -From Bill: -First there is the HAVE_CAIRO configuration option. This indicates that -any cairo calls are available. In this case you get something like this: - -// static variable holding the last cairo context fltk set: -cairo_t* Fl::cr; - -// Make cr draw in this window. This hides the ugly platform-dependent -// part of getting cairo going: -void Fl::cairo_make_current(Fl_Window*) - -*** POST 1.3 potential cairo use: -// Set cr to something you made yourself. This lets you reuse functions -// that use cr, and also tells fltk that cr is not one of it's own and -// thus cannot be destroyed or reused for a different window: -void Fl::cairo_make_current(cairo_t*) - -Second there is the USE_CAIRO configuration option. This means that all -drawing is done using Cairo. In this case when a widget draw() method is -called, it is exactly as though cairo_make_current(window) has been done. -*** - -Note that it should be possible to compile so HAVE_CAIRO works even if -USE_CAIRO does not, and so that turning on USE_CAIRO does not break any -programs written for HAVE_CAIRO. - -From Fabien -We will provide some service for users to use cairo with fltk 1.3 : -A HAVE_CAIRO configuration option will be created. -A simple Fl_Cairo_Window will be implemented and will provide basic -cairo surface transparent handling (hiding non portable cairo context creation and so on). -A demo program called cairo_test will be added in demo, providing a new test case. -This program will raise an alert dialog box in case HAVE_CAIRO is not set, indicating that cairo lib is not available. diff --git a/configh.in b/configh.in index 4e73833dc..d99e95aa8 100644 --- a/configh.in +++ b/configh.in @@ -130,6 +130,16 @@ #undef __APPLE_QUARTZ__ #undef __APPLE_QD__ + +/* + * USE_X11 + * + * Should we use X11 for the current platform + * + */ + +#undef USE_X11 + /* * HAVE_OVERLAY: * @@ -236,6 +246,14 @@ #undef HAVE_LIBZ #undef HAVE_LIBJPEG +/* + * HAVE_CAIRO + * + * Do we have the cairo library available? + */ + +#undef HAVE_CAIRO + /* * Which header file do we include for libpng? */ diff --git a/configure.in b/configure.in index a73c40002..f842ad521 100644 --- a/configure.in +++ b/configure.in @@ -530,7 +530,7 @@ AC_ARG_ENABLE(localpng, [ --enable-localpng use local PNG library, defaul [if test x$enable_localpng = xyes; then ac_cv_lib_png_png_set_tRNS_to_alpha=no fi]) - + AC_CHECK_LIB(png,png_set_tRNS_to_alpha, [ PNGINC="" PNG="" @@ -561,6 +561,17 @@ LIBS="$SAVELIBS" dnl See if we need a .exe extension on executables... AC_EXEEXT +dnl Check for Cairo library unless disabled... +AC_ARG_ENABLE(cairo,[ --enable-cairo use Cairo graphics (default=no)]) +if test x$enable_cairo = xyes; then + AC_DEFINE(HAVE_CAIRO) + dnl FIXME This part should be fixed so configure do not depend on + dnl we do not rely on pkg-config . + CXXFLAGS="`pkg-config --cflags cairo` $CXXFLAGS" + CAIROLIBS="-lcairo -lpixman-1" + LIBS="-lcairo -lpixman-1 $LIBS" +fi + dnl Check for pthreads for multi-threaded apps... have_pthread=no PTHREAD_FLAGS="" @@ -703,12 +714,12 @@ case $uname in AC_MSG_WARN(Ignoring libraries \"$X_PRE_LIBS\" requested by configure.) fi - LIBS="$LIBS -lXext -lX11 $X_EXTRA_LIBS" + LIBS="$LIBS -lX11 $X_EXTRA_LIBS" CFLAGS="$CFLAGS $X_CFLAGS" CXXFLAGS="$CXXFLAGS $X_CFLAGS" LDFLAGS="$X_LIBS $LDFLAGS" DSOFLAGS="$X_LIBS $DSOFLAGS" - + AC_DEFINE(USE_X11) if test "x$x_includes" != x; then ac_cpp="$ac_cpp -I$x_includes" fi @@ -781,6 +792,8 @@ case $uname in if test x$enable_xdbe != xno; then AC_CHECK_HEADER(X11/extensions/Xdbe.h, AC_DEFINE(HAVE_XDBE),, [#include ]) + AC_CHECK_LIB(Xext, XdbeQueryExtension, + LIBS="-lXext $LIBS") fi dnl Check for overlay visuals... @@ -1124,6 +1137,10 @@ if test x$ZLIB = x; then else echo " ZLIB=Builtin" fi +if test x$enable_cairo = xyes; then + echo " CAIRO=System" +fi + if test x$enable_largefile != xno; then echo " Large Files: YES" diff --git a/documentation/Doxyfile b/documentation/Doxyfile index b6fadb7b5..7972d709b 100644 --- a/documentation/Doxyfile +++ b/documentation/Doxyfile @@ -548,7 +548,7 @@ RECURSIVE = YES # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = ../src/fl_font_win32.cxx ../src/fl_font_mac.cxx \ +EXCLUDE = ../src/fl_font_win32.cxx ../src/fl_font_mac.cxx # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded @@ -1127,6 +1127,7 @@ INCLUDE_FILE_PATTERNS = # instead of the = operator. PREDEFINED = FL_DOXYGEN \ + HAVE_CAIRO \ HAVE_GL \ HAVE_GL_OVERLAY \ FL_EXPORT:= diff --git a/src/Fl.cxx b/src/Fl.cxx index 667380c2a..a77a653c0 100644 --- a/src/Fl.cxx +++ b/src/Fl.cxx @@ -30,7 +30,7 @@ // mostly to get around the single active context in QD and // to implement clipping. This should be changed into pure // Quartz calls in the near future. - +#include "config.h" #include #include #include @@ -1184,6 +1184,9 @@ void Fl_Window::hide() { fl_release_dc(fl_window, fl_gc); fl_window = (HWND)-1; fl_gc = 0; +# ifdef HAVE_CAIRO + if (Fl::cairo_autolink_context()) Fl::cairo_make_current((Fl_Window*) 0); +# endif } #elif defined(__APPLE_QD__) if ( ip->xid == fl_window && !parent() ) diff --git a/src/Fl_Cairo.cxx b/src/Fl_Cairo.cxx new file mode 100644 index 000000000..6a87d3c8c --- /dev/null +++ b/src/Fl_Cairo.cxx @@ -0,0 +1,151 @@ +// +// "$Id$" +// +// Main header file for the Fast Light Tool Kit (FLTK). +// +// Copyright 1998-2008 by Bill Spitzak and others. +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Library General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Library General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +// USA. +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +#include + +#ifdef HAVE_CAIRO +#include +#include +#include + +// static Fl module initialization : +Fl_Cairo_State Fl::cairo_state_; ///< contains all necesary info for current cairo context mapping +// Fl cairo features implementation + +/** + Provides a corresponding cairo context for Window \a w. + This is needed in a draw() override if Fl::cairo_autolink_context() + returns false, which is the default. + The cairo_context() does not need to be freed as it is freed every time + a new cairo context is created. When the program terminates, + a call to Fl::cairo_make_current(0) will destroy any residual context. + \note A new cairo context is not always re-created when this method + is used. In particular, if the current graphical context and the current + window didn't change between two calls, the previous gc is internally kept, + thus optimizing the drawing performances. + Also, after this call, Fl::cairo_gc() is adequately updated with this + cairo context. + \note Only available when configure has the --enable-cairo option + \return the valid cairo_t* cairo context associated to this window. +*/ +cairo_t * Fl::cairo_make_current(Fl_Window* wi) { + if (!wi) return NULL; // Precondition + + if (fl_gc==0) { // means remove current cc + Fl::cairo_cc(0); // destroy any previous cc + cairo_state_.window(0); + return 0; + } + + // don't re-create a context if it's the same gc/window couple + if (fl_gc==Fl::cairo_state_.gc() && fl_xid(wi) == (Window) Fl::cairo_state_.window()) + return Fl::cairo_cc(); + + cairo_state_.window(wi); + +#if defined(USE_X11) + return Fl::cairo_make_current(0, wi->w(), wi->h()); +#else + return Fl::cairo_make_current(fl_gc, wi->w(), wi->h()); +#endif +} + +/* + Creates transparently a cairo_surface_t object. + gc is an HDC context in WIN32, a CGContext* in Quartz, a display on X11 + */ +static cairo_surface_t * cairo_create_surface(void * gc, int W, int H) { +# if defined(USE_X11) // X11 + return cairo_xlib_surface_create(fl_display, fl_window, fl_visual->visual, W, H); +# elif defined(WIN32) + return cairo_win32_surface_create((HDC) gc); +# elif defined(__APPLE_QUARTZ__) + return cairo_quartz_surface_create_for_cg_context((CGContext*) gc, W, H); +# elif defined(__APPLE_QD__) +# error Cairo is not supported under Apple Quickdraw, please use Apple Quartz. +# else +# error Cairo is not supported under this platform. +# endif +} + +/** + Creates a cairo context from a \a gc only, get its window size or offscreen size if fl_window is null + \note Only available when configure has the --enable-cairo option +*/ +cairo_t * Fl::cairo_make_current(void *gc) { + int W=0,H=0; +#if defined(USE_X11) + //FIXME X11 get W,H + // gc will be the window handle here +# warning FIXME get W,H for cairo_make_current(void*) +#elif defined(__APPLE_QUARTZ__) + if (fl_window) { + Rect portRect; + GetPortBounds(GetWindowPort( fl_window ), &portRect); + W = portRect.right-portRect.left; + H = portRect.bottom-portRect.top; + } + else { + W = CGBitmapContextGetHeight(fl_gc); + H = CGBitmapContextGetHeight(fl_gc); + } +#elif defined(WIN32) + // we don't need any W,H for WIN32 +#else +# error Cairo is not supported under this platform. +#endif + if (!gc) { + Fl::cairo_cc(0); + cairo_state_.gc(0); // keep track for next time + return 0; + } + if (gc==Fl::cairo_state_.gc() && fl_window== (Window) Fl::cairo_state_.window()) + return Fl::cairo_cc(); + cairo_state_.gc(fl_gc); // keep track for next time + cairo_surface_t * s = cairo_create_surface(gc, W, H); + cairo_t * c = cairo_create(s); + cairo_surface_destroy(s); + Fl::cairo_cc(c); + return c; +} + +/** + Creates a cairo context from a \a gc and its size + \note Only available when configure has the --enable-cairo option +*/ +cairo_t * Fl::cairo_make_current(void *gc, int W, int H) { + cairo_surface_t * s = cairo_create_surface(gc, W, H); + cairo_t * c = cairo_create(s); + cairo_surface_destroy(s); + Fl::cairo_cc(c); + return c; +} +#endif // HAVE_CAIRO + +// +// End of "$Id$" . +// diff --git a/src/Fl_Double_Window.cxx b/src/Fl_Double_Window.cxx index 6c86284e7..37bdd9e96 100644 --- a/src/Fl_Double_Window.cxx +++ b/src/Fl_Double_Window.cxx @@ -403,6 +403,9 @@ void Fl_Double_Window::flush(int eraseoverlay) { RestoreDC(fl_gc, save); DeleteDC(fl_gc); fl_gc = _sgc; + //# if defined(HAVE_CAIRO) + //if Fl::cairo_autolink_context() Fl::cairo_make_current(this); // capture gc changes automatically to update the cairo context adequately + //# endif #elif defined(__APPLE__) if ( myi->other_xid ) { fl_begin_offscreen( myi->other_xid ); diff --git a/src/Fl_Menu_Window.cxx b/src/Fl_Menu_Window.cxx index 12422cfab..a7f17c7d0 100644 --- a/src/Fl_Menu_Window.cxx +++ b/src/Fl_Menu_Window.cxx @@ -67,7 +67,12 @@ void Fl_Menu_Window::flush() { if (!fl_overlay_visual || !overlay()) {Fl_Single_Window::flush(); return;} Fl_X *myi = Fl_X::i(this); fl_window = myi->xid; - if (!gc) gc = XCreateGC(fl_display, myi->xid, 0, 0); + if (!gc) { + gc = XCreateGC(fl_display, myi->xid, 0, 0); +# if defined(HAVE_CAIRO) + Fl::cairo_make_current(gc); // capture gc changes automatically to update the cairo context adequately +# endif + } fl_gc = gc; fl_overlay = 1; fl_clip_region(myi->region); myi->region = 0; current_ = this; diff --git a/src/Fl_Overlay_Window.cxx b/src/Fl_Overlay_Window.cxx index fd4fdfdcc..4e76566c9 100644 --- a/src/Fl_Overlay_Window.cxx +++ b/src/Fl_Overlay_Window.cxx @@ -131,8 +131,13 @@ void _Fl_Overlay::show() { void _Fl_Overlay::flush() { fl_window = fl_xid(this); - if (!gc) gc = XCreateGC(fl_display, fl_xid(this), 0, 0); + if (!gc) { + gc = XCreateGC(fl_display, fl_xid(this), 0, 0); + } fl_gc = gc; +#if defined(HAVE_CAIRO) + if (Fl::cairo_autolink_context()) Fl::cairo_make_current(this); // capture gc changes automatically to update the cairo context adequately +#endif fl_overlay = 1; Fl_Overlay_Window *w = (Fl_Overlay_Window *)parent(); Fl_X *myi = Fl_X::i(this); diff --git a/src/Fl_Text_Buffer.cxx b/src/Fl_Text_Buffer.cxx index 817217c8e..e3d07ea67 100644 --- a/src/Fl_Text_Buffer.cxx +++ b/src/Fl_Text_Buffer.cxx @@ -64,8 +64,15 @@ static char *expandTabs(const char *text, int startIndent, int tabDist, char nullSubsChar, int *newLen); static char *unexpandTabs(char *text, int startIndent, int tabDist, char nullSubsChar, int *newLen); -static int max(int i1, int i2); -static int min(int i1, int i2); +#ifndef min +static int max(int i1, int i2) { + return i1 >= i2 ? i1 : i2; +} + +static int min(int i1, int i2) { + return i1 <= i2 ? i1 : i2; +} +#endif static const char *ControlCodeTable[ 32 ] = { "nul", "soh", "stx", "etx", "eot", "enq", "ack", "bel", @@ -2569,14 +2576,6 @@ static char *unexpandTabs(char *text, int startIndent, int tabDist, return outStr; } -static int max(int i1, int i2) { - return i1 >= i2 ? i1 : i2; -} - -static int min(int i1, int i2) { - return i1 <= i2 ? i1 : i2; -} - int /** Inserts a file at the specified position. Returns 0 on success, diff --git a/src/Fl_Window.cxx b/src/Fl_Window.cxx index 21eec3caa..32459d367 100644 --- a/src/Fl_Window.cxx +++ b/src/Fl_Window.cxx @@ -29,7 +29,7 @@ // This is the system-independent portions. The huge amount of // crap you need to do to communicate with X is in Fl_x.cxx, the // equivalent (but totally different) crap for MSWindows is in Fl_win32.cxx - +#include "config.h" #include #include #include @@ -132,6 +132,10 @@ void Fl_Window::draw() { set_flag(saveflags); y(savey); x(savex); + +# if defined(HAVE_CAIRO) + Fl::cairo_make_current(this); // checkout if an update is necessary +# endif } void Fl_Window::label(const char *name) { diff --git a/src/Fl_mac.cxx b/src/Fl_mac.cxx index eb3b82393..94473b512 100644 --- a/src/Fl_mac.cxx +++ b/src/Fl_mac.cxx @@ -2312,10 +2312,18 @@ void Fl_Window::make_current() fl_gc = i->gc; CGContextSaveGState(fl_gc); Fl_X::q_fill_context(); +#if defined(HAVE_CAIRO) && defined (__APPLE_QUARTZ__) + if (Fl::cairo_autolink_context()) Fl::cairo_make_current(this); // capture gc changes automatically to update the cairo context adequately +#endif + #endif fl_clip_region( 0 ); SetPortClipRegion( GetWindowPort(i->xid), fl_window_region ); - return; + +#if defined(__APPLE_QUARTZ__) && defined(HAVE_CAIRO) + // update the cairo_t context + if (Fl::cairo_autolink_context()) Fl::cairo_make_current(this); +#endif } // helper function to manage the current CGContext fl_gc @@ -2363,6 +2371,9 @@ void Fl_X::q_release_context(Fl_X *x) { fprintf(stderr, "Error %d in QDEndCGContext\n", (int)err); } fl_gc = 0; +#if defined(HAVE_CAIRO) && defined (__APPLE_QUARTZ__) + Fl::cairo_make_current((Fl_Window*) 0); // capture gc changes automatically to update the cairo context adequately +#endif } void Fl_X::q_begin_image(CGRect &rect, int cx, int cy, int w, int h) { diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx index b67bf80dd..e3cf9e83b 100644 --- a/src/Fl_win32.cxx +++ b/src/Fl_win32.cxx @@ -1737,6 +1737,7 @@ HDC fl_GetDC(HWND w) { // calling GetDC seems to always reset these: (?) SetTextAlign(fl_gc, TA_BASELINE|TA_LEFT); SetBkMode(fl_gc, TRANSPARENT); + return fl_gc; } @@ -1755,6 +1756,8 @@ void Fl_Window::make_current() { current_ = this; fl_clip_region(0); + + } /* Make sure that all allocated fonts are released. This works only if diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx index 3fffb0ab5..3300f3741 100644 --- a/src/Fl_x.cxx +++ b/src/Fl_x.cxx @@ -1726,6 +1726,12 @@ void Fl_Window::make_current() { fl_gc = gc; current_ = this; fl_clip_region(0); + +#ifdef HAVE_CAIRO + // update the cairo_t context + if (Fl::cairo_autolink_context()) Fl::cairo_make_current(this); +#endif + } #endif diff --git a/src/Makefile b/src/Makefile index f4ff7f9d4..f7d15b793 100644 --- a/src/Makefile +++ b/src/Makefile @@ -34,6 +34,7 @@ CPPFILES = \ Fl_Browser_load.cxx \ Fl_Box.cxx \ Fl_Button.cxx \ + Fl_Cairo.cxx \ Fl_Chart.cxx \ Fl_Check_Browser.cxx \ Fl_Check_Button.cxx \ diff --git a/src/xutf8/utf8Input.c b/src/xutf8/utf8Input.c index 205e7d0fc..6e956224d 100644 --- a/src/xutf8/utf8Input.c +++ b/src/xutf8/utf8Input.c @@ -40,7 +40,7 @@ #include #include #include -#include +#include #include #if HAVE_LIBC_ICONV diff --git a/test/Makefile b/test/Makefile index 2dc3145ea..7e46b93ba 100644 --- a/test/Makefile +++ b/test/Makefile @@ -38,6 +38,7 @@ CPPFILES =\ browser.cxx \ button.cxx \ buttons.cxx \ + cairo_test.cxx \ checkers.cxx \ clock.cxx \ colbrowser.cxx \ @@ -106,6 +107,7 @@ ALL = \ browser$(EXEEXT) \ button$(EXEEXT) \ buttons$(EXEEXT) \ + cairo_test$(EXEEXT) \ checkers$(EXEEXT) \ clock$(EXEEXT) \ colbrowser$(EXEEXT) \ @@ -461,6 +463,7 @@ shape$(EXEEXT): shape.o echo Linking $@... $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ shape.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS) +cairo_test$(EXEEXT): cairo_test.o # # End of "$Id$". diff --git a/test/cairo_test.cxx b/test/cairo_test.cxx new file mode 100644 index 000000000..6492d4d40 --- /dev/null +++ b/test/cairo_test.cxx @@ -0,0 +1,168 @@ +// +// "$Id: arc.cxx 5115 2006-05-12 16:00:00Z fabien $" +// +// Arc drawing test program for the Fast Light Tool Kit (FLTK). +// +// Copyright 1998-2006 by Bill Spitzak and others. +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Library General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Library General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +// USA. +// +// Please report all bugs and problems to "fltk-bugs@fltk.org". +// + +#include + +#ifdef HAVE_CAIRO + +#include +#include +#include +#include +#include +#define DEF_WIDTH 0.03 + +// uncomment the following line to enable cairo context autolink feature: +// #define AUTOLINK + +// put your drawing stuff here +float drawargs[7] = {90, 90, 100, 100, 0, 360, 0}; +const char* name[7] = {"X", "Y", "W", "H", "start", "end", "rotate"}; + + +static void centered_text(cairo_t* cr, double x0,double y0,double w0,double h0, const char * my_text) { + cairo_select_font_face (cr, "Sans", CAIRO_FONT_SLANT_OBLIQUE,CAIRO_FONT_WEIGHT_BOLD); + cairo_set_source_rgba (cr, 0.9, 0.9, 0.4, 0.6); + cairo_text_extents_t extents; + cairo_text_extents (cr, my_text, &extents); + double x = (extents.width/2 + extents.x_bearing); + double y = (extents.height/2 + extents.y_bearing); + cairo_move_to (cr, x0+w0/2-x, y0+h0/2 - y); + cairo_text_path(cr,my_text); + cairo_fill_preserve (cr); + cairo_set_source_rgba (cr, 0, 0, 0,1); + cairo_set_line_width (cr, 0.004); + cairo_stroke (cr); + cairo_set_line_width (cr, DEF_WIDTH); + + +} + +static void round_button(cairo_t* cr, double x0, double y0, + double rect_width, double rect_height, double radius, + double r, double g, double b) { + + double x1,y1; + + + x1=x0+rect_width; + y1=y0+rect_height; + if (!rect_width || !rect_height) + return; + if (rect_width/2w(), h = window->h(); + + cairo_set_line_width (cr, DEF_WIDTH); + cairo_scale (cr, w,h); + + round_button(cr,0.1,0.05,0.8,0.2,0.4,0,0,1); + round_button(cr,0.1,0.35,0.8,0.2,0.4,1,0,0); + round_button(cr,0.1,0.65,0.8,0.2,0.4,0,1,0); + return; +} + +int main(int argc, char** argv) { +#ifdef AUTOLINK + Fl::cairo_autolink_context(true); +#endif + Fl_Cairo_Window window(300,300); + + window.resizable(&window); + window.color(FL_WHITE); + window.show(argc,argv); + window.set_draw_cb(my_cairo_draw_cb); + + return Fl::run(); +} +#else +#include + +int main(int argc, char** argv) { + fl_message("please configure fltk with CAIRO enabled (--enable-cairo)"); + return 0; +} +#endif + +// +// End of "$Id: arc.cxx 5115 2006-05-12 16:00:00Z fabien $". +// diff --git a/vc2005/CubeView.vcproj b/vc2005/CubeView.vcproj index 40fcfeae8..c52ae1a3b 100644 --- a/vc2005/CubeView.vcproj +++ b/vc2005/CubeView.vcproj @@ -1,9 +1,10 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +416,25 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vc2005/adjuster.vcproj b/vc2005/adjuster.vcproj index 4a2da46ec..3d3276e17 100644 --- a/vc2005/adjuster.vcproj +++ b/vc2005/adjuster.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/arc.vcproj b/vc2005/arc.vcproj index 485f16590..9f59ed500 100644 --- a/vc2005/arc.vcproj +++ b/vc2005/arc.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/ask.vcproj b/vc2005/ask.vcproj index 729292a47..b8f4922b2 100644 --- a/vc2005/ask.vcproj +++ b/vc2005/ask.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/bitmap.vcproj b/vc2005/bitmap.vcproj index 928a83fe6..f66bde016 100644 --- a/vc2005/bitmap.vcproj +++ b/vc2005/bitmap.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/boxtype.vcproj b/vc2005/boxtype.vcproj index 25a3fe00b..15d5320b9 100644 --- a/vc2005/boxtype.vcproj +++ b/vc2005/boxtype.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/browser.vcproj b/vc2005/browser.vcproj index 7776f2c49..a3a04b776 100644 --- a/vc2005/browser.vcproj +++ b/vc2005/browser.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/button.vcproj b/vc2005/button.vcproj index 8b37b7668..036d44714 100644 --- a/vc2005/button.vcproj +++ b/vc2005/button.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/buttons.vcproj b/vc2005/buttons.vcproj index bce883371..2d0016528 100644 --- a/vc2005/buttons.vcproj +++ b/vc2005/buttons.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/cairo_test.vcproj b/vc2005/cairo_test.vcproj new file mode 100644 index 000000000..c9c23e690 --- /dev/null +++ b/vc2005/cairo_test.vcproj @@ -0,0 +1,442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vc2005/checkers.vcproj b/vc2005/checkers.vcproj index 0a963ed76..a646fd24d 100644 --- a/vc2005/checkers.vcproj +++ b/vc2005/checkers.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/clock.vcproj b/vc2005/clock.vcproj index 0f174ee1e..16992c180 100644 --- a/vc2005/clock.vcproj +++ b/vc2005/clock.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/colbrowser.vcproj b/vc2005/colbrowser.vcproj index e8ad28d01..96a706638 100644 --- a/vc2005/colbrowser.vcproj +++ b/vc2005/colbrowser.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/color_chooser.vcproj b/vc2005/color_chooser.vcproj index ef06e2588..1a1dafa56 100644 --- a/vc2005/color_chooser.vcproj +++ b/vc2005/color_chooser.vcproj @@ -1,7 +1,7 @@ @@ -199,6 +199,192 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -225,6 +411,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/config.h b/vc2005/config.h index df4388793..5e080dfd6 100644 --- a/vc2005/config.h +++ b/vc2005/config.h @@ -175,6 +175,13 @@ #define HAVE_LIBZ #define HAVE_LIBJPEG +/* + * Do we have Cairo ? + */ + +// uncomment the following for using cairo +// #define HAVE_CAIRO 1 + /* * Which header file do we include for libpng? */ diff --git a/vc2005/cube.vcproj b/vc2005/cube.vcproj index a19f31577..cdf69a8da 100644 --- a/vc2005/cube.vcproj +++ b/vc2005/cube.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/cursor.vcproj b/vc2005/cursor.vcproj index f49827ab1..d295ae043 100644 --- a/vc2005/cursor.vcproj +++ b/vc2005/cursor.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/curve.vcproj b/vc2005/curve.vcproj index adcb298b8..47d329115 100644 --- a/vc2005/curve.vcproj +++ b/vc2005/curve.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/demo.vcproj b/vc2005/demo.vcproj index 2228aab09..4bfb5fb4c 100644 --- a/vc2005/demo.vcproj +++ b/vc2005/demo.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/doublebuffer.vcproj b/vc2005/doublebuffer.vcproj index 0ff4b451d..06b3a3602 100644 --- a/vc2005/doublebuffer.vcproj +++ b/vc2005/doublebuffer.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/editor.vcproj b/vc2005/editor.vcproj index 33a68a802..d4cb1b8c3 100644 --- a/vc2005/editor.vcproj +++ b/vc2005/editor.vcproj @@ -1,7 +1,7 @@ @@ -203,6 +203,196 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -229,6 +419,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/fast_slow.vcproj b/vc2005/fast_slow.vcproj index 8c53991e3..4d6a28906 100644 --- a/vc2005/fast_slow.vcproj +++ b/vc2005/fast_slow.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + diff --git a/vc2005/file_chooser.vcproj b/vc2005/file_chooser.vcproj index 39918e6f3..1a0f75dd3 100644 --- a/vc2005/file_chooser.vcproj +++ b/vc2005/file_chooser.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/fltk.lib.vcproj b/vc2005/fltk.lib.vcproj index 6ead1d1b6..31fbaf2cc 100644 --- a/vc2005/fltk.lib.vcproj +++ b/vc2005/fltk.lib.vcproj @@ -1,7 +1,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -641,6 +783,27 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + /> + - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -233,32 +422,28 @@ PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;FL_DLL;FL_LIBRARY;WIN32;_DEBUG;_WINDOWS;WIN32_LEAN_AND_MEAN;VC_EXTRA_LEAN;WIN32_EXTRA_LEAN;$(NoInherit)" /> - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vc2005/fltkforms.vcproj b/vc2005/fltkforms.vcproj index 07521b4e4..6cf394059 100644 --- a/vc2005/fltkforms.vcproj +++ b/vc2005/fltkforms.vcproj @@ -1,9 +1,10 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -183,6 +326,27 @@ BrowseInformation="1" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vc2005/fltkgl.vcproj b/vc2005/fltkgl.vcproj index 7ff3e995c..f2f47fe84 100644 --- a/vc2005/fltkgl.vcproj +++ b/vc2005/fltkgl.vcproj @@ -1,9 +1,10 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -183,6 +326,27 @@ BrowseInformation="1" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vc2005/fltkimages.vcproj b/vc2005/fltkimages.vcproj index ba61af8f9..227e9dd60 100644 --- a/vc2005/fltkimages.vcproj +++ b/vc2005/fltkimages.vcproj @@ -1,9 +1,10 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -183,6 +326,27 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vc2005/fluid.vcproj b/vc2005/fluid.vcproj index 998f41f50..ef14ec3a0 100644 --- a/vc2005/fluid.vcproj +++ b/vc2005/fluid.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -228,6 +416,26 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vc2005/fonts.vcproj b/vc2005/fonts.vcproj index ac5b5532c..612036ab2 100644 --- a/vc2005/fonts.vcproj +++ b/vc2005/fonts.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/forms.vcproj b/vc2005/forms.vcproj index 47484aab4..6f9ce0f04 100644 --- a/vc2005/forms.vcproj +++ b/vc2005/forms.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/fractals.vcproj b/vc2005/fractals.vcproj index d67d3b43e..4562a3337 100644 --- a/vc2005/fractals.vcproj +++ b/vc2005/fractals.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + diff --git a/vc2005/fullscreen.vcproj b/vc2005/fullscreen.vcproj index a223708bc..a71c77aee 100644 --- a/vc2005/fullscreen.vcproj +++ b/vc2005/fullscreen.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/gl_overlay.vcproj b/vc2005/gl_overlay.vcproj index bc7f5fabb..f9828fc5d 100644 --- a/vc2005/gl_overlay.vcproj +++ b/vc2005/gl_overlay.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/glpuzzle.vcproj b/vc2005/glpuzzle.vcproj index 1bdfdecc1..b3882b7bc 100644 --- a/vc2005/glpuzzle.vcproj +++ b/vc2005/glpuzzle.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/hello.vcproj b/vc2005/hello.vcproj index 7ee7f874b..898aff207 100644 --- a/vc2005/hello.vcproj +++ b/vc2005/hello.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/help.vcproj b/vc2005/help.vcproj index a45bdce45..2ccc2c66b 100644 --- a/vc2005/help.vcproj +++ b/vc2005/help.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/iconize.vcproj b/vc2005/iconize.vcproj index 038b532db..aa813f21e 100644 --- a/vc2005/iconize.vcproj +++ b/vc2005/iconize.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/image.vcproj b/vc2005/image.vcproj index 6535b5b68..f5f00d4cf 100644 --- a/vc2005/image.vcproj +++ b/vc2005/image.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/inactive.vcproj b/vc2005/inactive.vcproj index 021c03c2f..ab1acabed 100644 --- a/vc2005/inactive.vcproj +++ b/vc2005/inactive.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + diff --git a/vc2005/input.vcproj b/vc2005/input.vcproj index 42af72f55..e259922cd 100644 --- a/vc2005/input.vcproj +++ b/vc2005/input.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/input_choice.vcproj b/vc2005/input_choice.vcproj index 69de34c4e..9e8ce45b9 100644 --- a/vc2005/input_choice.vcproj +++ b/vc2005/input_choice.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/jpeg.vcproj b/vc2005/jpeg.vcproj index 29a4b66a9..9ee8a9b8e 100644 --- a/vc2005/jpeg.vcproj +++ b/vc2005/jpeg.vcproj @@ -1,7 +1,7 @@ @@ -155,6 +155,148 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -163,7 +305,907 @@ RelativePath="..\jpeg\jcapimin.c" > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vc2005/keyboard.vcproj b/vc2005/keyboard.vcproj index 2f55c9eb8..70fa5d455 100644 --- a/vc2005/keyboard.vcproj +++ b/vc2005/keyboard.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + + + + + + + diff --git a/vc2005/label.vcproj b/vc2005/label.vcproj index 3ff4e3cfd..6d39bf34b 100644 --- a/vc2005/label.vcproj +++ b/vc2005/label.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/libpng.vcproj b/vc2005/libpng.vcproj index 411863de3..df1ef965f 100644 --- a/vc2005/libpng.vcproj +++ b/vc2005/libpng.vcproj @@ -1,7 +1,7 @@ @@ -155,6 +155,148 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -182,6 +324,26 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vc2005/line_style.vcproj b/vc2005/line_style.vcproj index 66c5d63c0..16bee051c 100644 --- a/vc2005/line_style.vcproj +++ b/vc2005/line_style.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/mandelbrot.vcproj b/vc2005/mandelbrot.vcproj index 17e4d02cf..248247c53 100644 --- a/vc2005/mandelbrot.vcproj +++ b/vc2005/mandelbrot.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + + + + + + + diff --git a/vc2005/menubar.vcproj b/vc2005/menubar.vcproj index 3a5ffbd5f..b4aea08e5 100644 --- a/vc2005/menubar.vcproj +++ b/vc2005/menubar.vcproj @@ -1,7 +1,7 @@ @@ -199,6 +199,192 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -225,6 +411,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/message.vcproj b/vc2005/message.vcproj index 9c88839ac..ce178a8fc 100644 --- a/vc2005/message.vcproj +++ b/vc2005/message.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/minimum.vcproj b/vc2005/minimum.vcproj index 666365d1a..0fb528c59 100644 --- a/vc2005/minimum.vcproj +++ b/vc2005/minimum.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/navigation.vcproj b/vc2005/navigation.vcproj index d69381ea7..6df4d43c4 100644 --- a/vc2005/navigation.vcproj +++ b/vc2005/navigation.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/output.vcproj b/vc2005/output.vcproj index d498ce726..e4a33d08b 100644 --- a/vc2005/output.vcproj +++ b/vc2005/output.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/overlay.vcproj b/vc2005/overlay.vcproj index 332d7063c..4b319f9f3 100644 --- a/vc2005/overlay.vcproj +++ b/vc2005/overlay.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/pack.vcproj b/vc2005/pack.vcproj index 6395ee532..4629e54a3 100644 --- a/vc2005/pack.vcproj +++ b/vc2005/pack.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/pixmap.vcproj b/vc2005/pixmap.vcproj index 45a03a5df..a54ffb10f 100644 --- a/vc2005/pixmap.vcproj +++ b/vc2005/pixmap.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/pixmap_browser.vcproj b/vc2005/pixmap_browser.vcproj index 74cb68901..0f0b0cd5e 100644 --- a/vc2005/pixmap_browser.vcproj +++ b/vc2005/pixmap_browser.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/preferences.vcproj b/vc2005/preferences.vcproj index 89fdfe893..1e00f1ead 100644 --- a/vc2005/preferences.vcproj +++ b/vc2005/preferences.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + diff --git a/vc2005/radio.vcproj b/vc2005/radio.vcproj index 7026ee8eb..2d2e48a7c 100644 --- a/vc2005/radio.vcproj +++ b/vc2005/radio.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + diff --git a/vc2005/resize.vcproj b/vc2005/resize.vcproj index 26c3a341a..b1d8df769 100644 --- a/vc2005/resize.vcproj +++ b/vc2005/resize.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + diff --git a/vc2005/resizebox.vcproj b/vc2005/resizebox.vcproj index 4d7a513d1..b772e6b79 100644 --- a/vc2005/resizebox.vcproj +++ b/vc2005/resizebox.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/scroll.vcproj b/vc2005/scroll.vcproj index d624d4a5b..638272615 100644 --- a/vc2005/scroll.vcproj +++ b/vc2005/scroll.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/shape.vcproj b/vc2005/shape.vcproj index cfc68dd07..a0a2499ab 100644 --- a/vc2005/shape.vcproj +++ b/vc2005/shape.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/subwindow.vcproj b/vc2005/subwindow.vcproj index 0e96a1247..db46bda1c 100644 --- a/vc2005/subwindow.vcproj +++ b/vc2005/subwindow.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/sudoku.vcproj b/vc2005/sudoku.vcproj index 3451e76fd..bc95e1924 100644 --- a/vc2005/sudoku.vcproj +++ b/vc2005/sudoku.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/tabs.vcproj b/vc2005/tabs.vcproj index f76de5e35..610fad4b2 100644 --- a/vc2005/tabs.vcproj +++ b/vc2005/tabs.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + diff --git a/vc2005/threads.vcproj b/vc2005/threads.vcproj index 9060cddeb..84a50dcc9 100644 --- a/vc2005/threads.vcproj +++ b/vc2005/threads.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/tile.vcproj b/vc2005/tile.vcproj index 18c86aafe..05112f5ae 100644 --- a/vc2005/tile.vcproj +++ b/vc2005/tile.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/tiled_image.vcproj b/vc2005/tiled_image.vcproj index 2c88c8aac..aacaed4ec 100644 --- a/vc2005/tiled_image.vcproj +++ b/vc2005/tiled_image.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/utf8.vcproj b/vc2005/utf8.vcproj index 8cd2ed1a6..b4095905e 100644 --- a/vc2005/utf8.vcproj +++ b/vc2005/utf8.vcproj @@ -1,7 +1,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -228,6 +416,25 @@ PreprocessorDefinitions="" /> + + + + + + diff --git a/vc2005/valuators.vcproj b/vc2005/valuators.vcproj index ffa700df4..7256cc6ed 100644 --- a/vc2005/valuators.vcproj +++ b/vc2005/valuators.vcproj @@ -1,7 +1,7 @@ @@ -201,6 +201,194 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -227,6 +415,25 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + diff --git a/vc2005/zlib.vcproj b/vc2005/zlib.vcproj index a2965549e..51315253e 100644 --- a/vc2005/zlib.vcproj +++ b/vc2005/zlib.vcproj @@ -1,7 +1,7 @@ @@ -154,6 +154,147 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -181,6 +322,26 @@ PreprocessorDefinitions="" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3