diff options
| author | Fabien Costantini <fabien@onepost.net> | 2008-09-17 09:29:27 +0000 |
|---|---|---|
| committer | Fabien Costantini <fabien@onepost.net> | 2008-09-17 09:29:27 +0000 |
| commit | 82d47bd253cf56f34ab947e15de15b43120a10cb (patch) | |
| tree | 83fdc1d37b36b159ef6b3b9f19009da1af4334d5 | |
| parent | 9e2f9c5b3a31796a1697ec5ff710fbe119eb7a56 (diff) | |
Added cairo todo list for keeping in one place related implementation guidelines.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6277 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | TODO.cairo | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/TODO.cairo b/TODO.cairo new file mode 100644 index 000000000..0f3505155 --- /dev/null +++ b/TODO.cairo @@ -0,0 +1,35 @@ +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. |
