diff options
author | Jed Barber <jjbarber@y7mail.com> | 2018-05-18 16:50:19 +1000 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2018-05-18 16:50:19 +1000 |
commit | 9a090286cd435fbf10eee24d71737f629c1d0f5c (patch) | |
tree | c35e0231aa738d445c951c867a4973a14f4b4ff4 /readme.txt | |
parent | 2cbec01126c34e70fc8e11d77553ef5bfd94cec7 (diff) |
Updated documentation
Diffstat (limited to 'readme.txt')
-rw-r--r-- | readme.txt | 33 |
1 files changed, 32 insertions, 1 deletions
@@ -1,9 +1,25 @@ +FLTK Binding for the Ada Programming Language +============================================= + + + + +This is a thick binding. In particular, dynamic allocation of FLTK objects is +not necessary as in Ada they can be placed on the stack and automatically cleaned +up. Ada 2012 iterators have also been made available for the Fl_Group and Fl_Menu +bindings. + +For documentation on what C++ method or class corresponds to what Ada function, +procedure, or package, see the /doc/index.html file. + + + + Dependencies: GNAT - FLTK @@ -28,3 +44,18 @@ For further information on the build tools, consult https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug.html + + +A technical note on callbacks and overriding: + +As part of its normal operation, FLTK calls a Widget's Draw and Handle methods from its +main loop to deal with draw and input events. Since it's another part of the program +that is invoking them, even if it's a part the programmer has no direct control over, +this binding is set up so that if you override Draw or Handle, the behaviour will change. + +On the other hand, something like the Push method in tabbed groups is usually invoked +from within that same tabbed group widget's Handle method. Therefore, keeping consistency +with Ada semantics, overriding the Push method will NOT change the behaviour of the +corresponding Handle method. You must also override Handle. + + |