summaryrefslogtreecommitdiff
path: root/cairo/Fl_Cairo.cxx
AgeCommit message (Collapse)Author
2023-03-09CMake: build shared libs with OPTION_CAIROEXT (issue #250)Albrecht Schlosser
- remove separate libfltk_cairo to avoid cyclic dependencies, but - keep a dummy libfltk_cairo in 1.4.0 for backwards compatibility - move cairo/Fl_Cairo.cxx to src/Fl_Cairo.cxx - add preliminary Cairo support for Visual Studio (MSVC) Static linking is not affected by this change, but users building with hand-made Makefiles will have to remove libfltk_cairo starting with FLTK 1.4.0. The dummy library can be linked for backwards compatibility but it will be removed later (in 1.4.x or 1.5.0). The shared FLTK library libfltk.{so|dylib|dll|..} depends on libcairo if and only if FLTK is built with one of the Cairo options. This has always been the case for OPTION_CAIROEXT but is now also true if only OPTION_CAIRO is selected, i.e. FLTK programs linked with a Cairo enabled shared FLTK library will also be linked with libcairo. The same is true for configure options --enable-cairo and --enable-cairoext, respectively. Preliminary Cairo support for MSVC now detects a Cairo installation using the CMake variable FLTK_CAIRO_DIR which must be set by the user. Note that this feature is temporary and may be changed in the future for a better and more comfortable version.
2023-02-02Allow cmake -DOPTION_APPLE_X11=On without -U__APPLE__ManoloFLTK
2023-01-29Cairo: Remove compiler warning and improve formattingAlbrecht Schlosser
... for better readability and CMP compliance. No functionality changes.
2023-01-29Revert unintended change of comment in 44c874b731f9Albrecht Schlosser
... where 'override' was changed to 'FL_OVERRIDE'
2022-12-30Use `FL_OVERRIDE` for all overridden virtual methods (#611)Matthias Melcher
FL_OVERRIDE is defined as `override` for C++11 and higher FL_OVERRIDE is defined as `override` for VisualC 2015 and newer Don't interfere with Fl_Widget::override()
2022-11-16Fix whitespace errors and dependenciesAlbrecht Schlosser
(no code changes)
2022-11-15Fix typo in Doxygen for Fl::cairo_make_current(Fl_Window*)ManoloFLTK
2022-11-15 Fix for "Wayland-only build is not compatible with Cairo option" (#544)ManoloFLTK
2022-11-12Reformat Cairo support Fl_Cairo.cxx for CMP complianceAlbrecht Schlosser
Only formatting, no code changes.
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-04-08Fix for issue #426: "configure --enable-cairoext" flips display upside downManoloFLTK
2022-03-04Add the Wayland platform to FLTK 1.4ManoloFLTK
2021-12-18Generate FL/fl_config.h rather than FL/abi-version.hAlbrecht Schlosser
... as discussed in fltk.coredev in thread "RFC: introduce public config header <FL/fl_config.h>", see: https://groups.google.com/g/fltkcoredev/c/xLCs1AIXMVo/m/MHZpQggzAQAJ - Rename abi-version.h to fl_config.h, rename input files, update dependencies, .gitignore, CMake, configure and Makefiles. - Include Cairo options in FL/fl_config.h - Rename FLTK_USE_CAIRO to FLTK_HAVE_CAIROEXT for consistency. - Include <FL/fl_config.h> in config.h and wherever necessary, fix include order (move FL/Fl.H to the top) and more. - Move USE_X11 to fl_config.h and rename to FLTK_USE_X11 - Do not include <config.h> in Cairo demo program which is no longer required in Cairo programs since FLTK 1.4.0
2021-03-01Fix cairo build (autoconf + CMake) + README'sAlbrecht Schlosser
- rewrite to use pkg-config with both autoconf + CMake - remove hardcoded library names - fix build dependencies and search directories - remove or replace old and unused variables - update README files To be done: - implement fallback for autoconf/configure if pkg-config is missing - fix pango build (uses cairo internally)
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- remove obsolete svn '$Id$' tags from all source files - update .fl files and generated files accordingly - replace 'http://www.fltk.org' URL's with 'https://...' - replace bug report URL 'str.php' with 'bugs.php' - remove trailing whitespace - fix other whitespace errors flagged by Git - add and/or fix missing or wrong standard headers - convert tabs to spaces in all source files The only relevant code changes are in the fluid/ folder where some .fl files and other source files were used to generate the '$Id' headers and footers.
2020-02-09Add screen scaling support to Fl_Cairo_Window under X11 platform.ManoloFLTK
2018-11-09Fix macOS 10.14 Mojave support of the FLTK-cairo interface.Manolo Gouy
After experimenting with a modified cairo_test program that draws both with cairo and with regular FLTK drawing functions to the same window, it seems necessary to control for possible changes to the graphics context made by cairo in Fl_Cocoa_Window_Driver::make_current() rather than in cairo_create_surface(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13119 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-11-08Support of macOS 10.14 Mojave: take care of the FLTK-Cairo interface.Manolo Gouy
Discussion "Screen buffer flipped in OSX Mojave running 1.4.x" in fltk.general, http://www.fltk.org/newsgroups.php?s36913+gfltk.general+v36915 describes a Cairo-using FLTK app that runs well after this modification. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13115 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23Removed macro FL_PORTING, as it has been more confusing than helpful.Matthias Melcher
The original intention of FL_PORTING was to mark all places in the source code where changes are required to port FLTK to a new platform. Thanks to the driver system, this approach has become somewhat misleading, so I removed all references. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12969 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09Replace "WIN32" with "_WIN32" or "Windows".Albrecht Schlosser
Replace compiler/preprocessor/platform macro "WIN32" with "_WIN32". Replace "WIN32" in text and documentation with "Windows". Replace "MSWindows" with "Windows". To do: README.Windows.txt (and maybe other documentation as well) needs updates. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-31Replace FL/x.H with FL/platform.H - step 2 (STR #3435).Albrecht Schlosser
This second step replaces FL/x.H with FL/platform.H in all source files. Dependencies have been adjusted as well. This commit completes the replacement of FL/x.H with FL/platform.H. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-23Change copyright year to reflect date of last commit.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12467 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-23Remove obsolete include directive.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12465 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-26Mac OS platform: Remove old Carbon code from cairo/Fl_Cairo.cxxManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11981 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13[Cairo] Remove part of the dependency of FL/Fl.H on config.h.Albrecht Schlosser
To use Fl_Cairo_Window one did not only need to configure with --enable-cairo, but also needed to #include <config.h> before #include <FL/Fl.H>. This commit removes the smaller part of the dependency of the public header file FL/Fl.H on config.h. This needs a better solution in FLTK 1.4.0. The user still needs to define FLTK_HAVE_CAIRO _before_ #include <FL/Fl.H>. Note: This is not compatible with fluid, since fluid _always_ includes FL/Fl.H as the first statement in generated header files. See also the discussion in fltk.general: https://groups.google.com/d/msg/fltkgeneral/_C1OJhMLQl0/pHUFtz9SCwAJ Note: also fixed a typo in src/drivers/X11/Fl_X11_Screen_Driver.cxx git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11168 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-11STR#3012 Fix: cairo_make_current(void*, int, int) would not release ↵Fabien Costantini
previously allocated cc in certain conditions, fixed the extra cc non null test condition erronously formulated in previous submission. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10027 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-11STR#3012 Fix: cairo_make_current(void*, int, int) would not release ↵Fabien Costantini
previously allocated cc in certain conditions. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10026 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-02-21Allows compilation on 64-bit Mac OS X with FLTK_HAVE_CAIRO defined.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9250 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19Modifications to all LGPL headers for STR #2685.Greg Ercolano
(to clarify static exception LGPL by changing license references) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-06Fix STR #2504 (first part). Replaced HAVE _CAIRO by FLTK_HAVE_CAIRO and ↵Manolo Gouy
USE_CAIRO by FLTK_USE_CAIRO everywhere. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8198 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-29More copyright 2010 mods.Greg Ercolano
Used: vi `grep -r 'Copyright .*Spitzak' . | grep -v 2010 | grep -v '/\.svn' | cut -d: -f1` git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7913 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-12STR#2035 fix : Changed all 1998-200[0-8] dates to 1998-2009 for supported ↵Fabien Costantini
fltk files (this excludes i.e the png subdir). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6626 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-19Cairo increment 2: Finer cairo granularity, less deps, new fltk_cairo libFabien Costantini
+ added new USE_CAIRO config preprocessor def. to differentiate from HAVE_CAIRO so that we can use the cairo lib without forcing the full fltk lib to be linked against it. In that case, cairo autolink context functionality which needs fltk lib instrumentation is disabled. + added new --enable-cairoext, which correspond to previous --enable-cairo. now, --enable-cairo only adds HAVE_CAIRO def. and keeps fltk lib from referencing cairo. In both cases (--enable-cairo & --enable-cairoext), a new fltk_cairo lib is created. This lib, similarly to local versions of png,jpeg and zlib, is not generated if cairo is not enabled. + added cairo to fltk-config : now new --use-cairo flag is available + modified all unix like makefiles to now generate minimum cairo deps and also new libfltk_cairo lib. + added new cairo subdir to permit conditional fltk_cairo lib generation. + vc2005 project minimum update to compile without be broken, but still needs to create a similar fltk_cairo independent lib. For now, it works as before with a dedicated cairo env. similar to --enable-cairoext context in unix. + regression tested ok with cairo disabled on win32, mac osx, mingw. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6462 ea41ed52-d2ee-0310-a9c1-e6b18d33e121