FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Manolo Gouy 8feb1bda5f Make all platforms get same kind of Fl_Image object when pasting an image from clipboard. 9 years ago
..
Makefile Add FLTK version test program examples/fltk-versions.cxx. 10 years ago
Makefile.FLTK Mods to examples Makefile for windows mingw/msys builds. 14 years ago
OpenGL3-glut-test.cxx Added required header and footer for new source files. 10 years ago
OpenGL3test.cxx Added required header and footer for new source files. 10 years ago
README.examples Small README mods 15 years ago
clipboard.cxx Make all platforms get same kind of Fl_Image object when pasting an image from clipboard. 9 years ago
fltk-versions.cxx Add "deprecated" warning to examples/fltk-versions.cxx. 10 years ago
howto-add_fd-and-popen.cxx Modifications to all LGPL headers for STR #2685. 14 years ago
howto-browser-with-icons.cxx Adding an example to demonstrate how to create an Fl_Browser with icons on the items. 12 years ago
howto-drag-and-drop.cxx Modifications to all LGPL headers for STR #2685. 14 years ago
howto-parse-args.cxx Modifications to all LGPL headers for STR #2685. 14 years ago
howto-text-over-image-button.cxx Modifications to all LGPL headers for STR #2685. 14 years ago
menubar-add.cxx Modifications to all LGPL headers for STR #2685. 14 years ago
nativefilechooser-simple-app.cxx Replaced fopen() by fl_fopen() calls so the app works correctly under MSWindows with non ASCII filenames. 12 years ago
progress-simple.cxx Small #ifdef mod for windows builds. 13 years ago
shapedwindow.cxx Update example programs to match those of branch-1.3.porting. 9 years ago
table-as-container.cxx Solves STR#2889, increases reusability of SetSize() in example. 13 years ago
table-simple.cxx Limit columns to 26 to ensure column labels are only A-Z. 14 years ago
table-sort.cxx Update example programs to match those of branch-1.3.porting. 9 years ago
table-spreadsheet-with-keyboard-nav.cxx Added Fl::option() setting to allow arrow keys to navigate table. 12 years ago
table-spreadsheet.cxx Small mod to enable highlighting in total cells. 10 years ago
table-with-keynav.cxx o Fixed tab navigation problem with this demo 12 years ago
tabs-simple.cxx Modifications to all LGPL headers for STR #2685. 14 years ago
textdisplay-with-colors.cxx Modifications to all LGPL headers for STR #2685. 14 years ago
texteditor-simple.cxx Modifications to all LGPL headers for STR #2685. 14 years ago
tree-as-container.cxx Fixes STR #2964. 12 years ago
tree-custom-draw-items.cxx o Added draw_item_content() to Fl_Tree_Item, 11 years ago
tree-custom-sort.cxx Removed leftover item variable (now unused) 11 years ago
tree-of-tables.cxx Fixes errors: 12 years ago
tree-simple.cxx Fix problem with Fl_Tree::select_only() invoking select callbacks 12 years ago
wizard-simple.cxx Modifications to all LGPL headers for STR #2685. 14 years ago

README.examples

FLTK EXAMPLE PROGRAMS
---------------------

This directory contains example FLTK programs that demonstrate
recommended programming practices and techniques for FLTK application
programmers. The "*-simple.cxx" files are a good starting point for
those new to FLTK.

The programs in this directory are NOT built automatically
when you build FLTK; you have to manually build them.

The goals of these example programs:

o Show good programming style for app programmers to emulate

o Show simple examples of how to use widgets to new users of FLTK.

o Show intermediate or advanced examples of techniques often
misused or hard to document

o Demonstrate code that are FAQs on the newsgroup forum.
(such as how to use threads, callbacks, etc)

o Example code should be short, but not at the expense of clarity.

o Where possible, examples should emphasize FLTK's simplicity.


NEW SUBMISSIONS: RECOMMENDED PRACTICES

These programs must follow FLTK coding style as defined in the FLTK
"CMP" (Configuration Management Plan/Coding Standards).

Example code should have the above goals in mind. The best examples
are those that are as short and clear as possible; terse, but not
at the expense of clarity.

To avoid cluttering up the top level directory with ancillary files
(such as image files or icons), examples that depend on more than
just a .cxx/.h file pair should have their own subdirectory.

Data files common to several examples should be located in the
examples/data directory.

Ancillary data files should be as small as possible, to keep the
distribution tar files small. Avoid high resolution images or
uncompressed images when possible.

Examples that need large data sets (HD images, etc) should not
be part of the FLTK distribution; they can be provided as separate
packages (eg. as articles or external links).

Some widgets have multiple capabilities that are best demonstrated
separately. For instance, the table widget can be used as a
custom data table, or as a spreadsheet, or as a widget container.
So separate examples for each would be e.g. "table-custom-data.cxx",
"table-spreadsheet.cxx", "table-widget-container.cxx", etc.

Example programs should contain comments that help understand the
concepts shown, but not so verbose as to dwarf the code or make
the code hard to read. Within code, it's best to use single line
comments to emphasize code that might be unclear. Let the code
speak as much as possible.

Examples programs may be referred to from the documentation
as good examples on how to do particular programming techniques.


NAMING CONVENTIONS

Example programs that demonstrate a particular widget should start
with that widget's name in lowercase, eg. "table.cxx" for Fl_Table.

Demonstrations of a particular technique should start with
"howto-xxx.cxx" to avoid naming conflicts with future widgets
of the same name.

xxx-simple.cxx -- Simplest possible example of widget xxx
eg. table-simple.cxx

xxx-<technique>.cxx -- A particular "technique" using widget xxx
eg. "table-spreadsheet.cxx"

howto-<technique>.cxx -- Demonstrate a particular technique, eg. "howto-threading.cxx"

Some example programs may depend on multiple files. To avoid
cluttering up the top level examples directory, such examples will
have their own subdirectory with the files they depend on localized
to that directory.

Example programs should be as small as possible, to keep the
distribution tar files small.

Very large examples, or examples that depend on large data sets
should be submitted as separate articles on the FLTK site, or as
external links on the FLTK site's 'links' page.


HISTORY

Previous to FLTK 1.3.0, the fltk/test directory served the dual
purpose of containing test suites as well as example code.

But the fltk/test programs started becoming necessarily complex,
testing for obscure problems, and not necessarily good demos for
applications programmers.

The fltk/examples directory was created in FLTK 1.3.0 to separate
'good programming examples' from the test suite code.


DISCLAIMER

The examples in this directory are provided 'as-is', without any express
or implied warranty. In no event will the authors be held liable for
any damages arising from the use of this software.


BUGS

If you find a bug, please report it through the fltk STR form at
http://fltk.org/str.php