FreeFoote's Arbitrary Internet Home

FreeFoote

Home About FreeFoote Contact FreeFoote

Linux Projects

GPS Photo Correlator EXIF Utility Scripts Sound Scope LCDMenu MPG123 HTTP patch Remote Download Manager

Hardware Projects

Cut down keyboard mod Sprinkler Controller

Abandoned Projects

The CFW

About the CFW Background Images Next Version: CFW3 Current Version Download Email Lists Screenshots Source Code

The F3C

About the F3C Contribute Documentation Download

About the FreeFoote Foundation Classes

This project was abandoned around May 2003. Several things contributed to this. One of the most notable things was the lack of portability of the classes - they were never going to work on Linux. Also, a lot of the classes didn't work very well. It was still useful to me -- I learned the Win32 API through these classes, but then again, that skill is not hugely useful to me nowadays.

The full code is available from the download page. Feel free to download it and extend them as you wish.

If you do start coding with or around these classes, and have some questions about my strange coding, then email me and I will help you as best as I can.

The original text of this page follows.


The FreeFoote Foundation Classes (or the F3C) are a set of C++ classes which are wrappers for various Windows APIs.

The F3C has been written to be simple to program with, but allow for the most flexibility in programming with the API.

The F3C has support for the following things:

  • Several types of GUI controls - such as Buttons, ListBoxes, edit controls, Listviews, and several others.
  • A filestream wrapper to make file handling easier.
  • A Registry interface.
  • A WinSock interface.
  • Classes to deal with Windows settings and to change screen resolutions.
  • A string class to make dealing with strings easy (note that you aren't required to use this string class to use the F3C -- you may use this class or any other class -- or no class at all! This is the flexibility that is built into the F3C).
  • A GUI Controller -- or an "Event Handler". This system catches events and calls functions depending on what event came through. For example, this works nicely:
    void ButtonClicked(fBUTTON* Sender)
         {
         //Do stuff when button clicked.
         };
    
    //In your initialisation code...
    Button.OnClick = &ButtonClicked;
    
  • Graphics classes for dealing with the GDI (OpenGL classes will follow some day).
  • A CGI Header has been included, to make writing CGI programs really easy.

Note that several classes can be compiled under Linux, and have been: they are the CGI header, the string class, and the filestream class. The CGI class is an incredibly useful thing to have under Linux.

The F3C isn't like usual foundation classes -- it is made up of a set of .h files, which means you need no precompilation to make them work. However, this does add onto build time, but reduces bloat which some classes see. It follows a "proceedural" method of programming -- so some header files need to be included before others to make things work, but the order is not hard to ascertain.

All source code comes with the F3C -- and you are permitted to modify the F3C to your heart's content (and it is easy to modify and see the results). If you do modify something, please submit the modifications back for the benefit of the wider community.

If you would like to contribute, step this way. If you would like to see what the F3C is like to program with, check out the documentation (the documentation is included if you download the package). And if you'd like to get programming right now, get downloading!

  FreeFoote, aka Daniel Foote - freefoote [at] dview [dot] net