Free Vision

From Lazarus wiki
Revision as of 16:32, 20 April 2013 by BigChimp (talk | contribs) (Language)
Jump to navigationJump to search

Deutsch (de) English (en) 日本語 (ja) português (pt)

Free Vision is an application framework that allows you to design user friendly text mode applications. It is designed to be API-compatible with Borland's Turbo Vision framework.

Free Vision implements a full windowing system, where each window can be updated, moved and operated independently from other windows. It is implemented on top of the video, keyboard and mouse units and Free Vision applications can therefore run on most FPC platforms using the write once, compile anywhere principle.

The Free Pascal IDE uses Free Vision for its user interface. Textmode IDE development lists a simple object chart of IDE + FV objects.

Free Vision is not 100% complete:

  • the colorsel unit is missing, and the support to use it (palette support) might not be complete and/or debugged since the TV->FV transition in +/- 2000.

Availability:

  • Debian Linux:=> install the package: fp-units-fv
  • Other distributions/OSes: Free Vision is included with the FPC source package.

Turbo Vision

The Turbo Vision framework originates from Borland, and was delivered with the later incarnations on the Turbo range of compilers. There were two versions, a C++ one, and a Pascal one. The C++ was open sourced (PD) at some point, the Pascal didn't follow, which prompted FPC to search for an alternative.

This was found in the shape of Free Vision, which (afaik) was a backport of the PD C++ code back to Pascal by Leon de Boer for use in graphics mode. As far as I can remember, Pierre and Peter backported the code back to textmode (coordinate system change that affected a lot of code!), ported missing parts, improved compatibility, and hooked it into the Textmode IDE. Note that the sf.net TVISION page falsely states that FPC uses Pascal sources donated by Borland, however it seems that nobody reacts to mails there.

Overview current Turbo Vision codebases

To my knowledge there are currently a handful of TV based codebases, all open source ones derived from the C++ version released by Borland.

C++:

  • The C++ version as released by Borland (PD) Unfortunately after all the mergers of Borland, the FTP server it was on is dead.
  • Possibly non free versions as delivered with TC++ (and Object Vision?)
  • The sf.net C++ version, but it is GPL (a GPL library, which severely hampers usage)
  • A better alternative is an older C++ TV version (BSD) at this homepage

Pascal:

  • The commercial versions packaged with Turbo Pascal compilers. These are still not open source in any form.
  • The (afaik heavily modified) BP7 version that was used for Virtual Pascal. (not open)
  • Free Vision, (LGPL-with linking exception). See above for details. Based on the C++ version.