Control Point Editor, Smart Fpg Editor

Time has gone by and nothing has been updated on this site, however development of Smart Fpg Editor has continued (slowly) during this time. Two major changes have taken place:

  • Splitting of the project in several modules (Active X components). Addition of new modules
  • Implementation of an “advanced” control point editor (non graphical

The splitting in several submodules responds mainly to flexibility and reusability reasons, which may not be of much concern to the end user and therefore it will not be explained here. At any case, documentation, when available (and it is already being written), will include these relevant desing notes for who plan to go deeper into the program source code.

It is, however, worth to have a look at the new control point editor and its characteristics. The editor is not a graphical control point editor, but it provides some interesting features that so far, it is not possible to find in any other editor. The complete list of features is listed below:

  • Set / Remove control points
  • 4 different modes of setting control points
    • Append mode: adds control points at the end of the CP list
    • Insertion mode: inserts a control point in the position of an existing one and moves the existing one, and the following ones one position
    • Completion-insertion mode: inserts a control point in the inmediate subsequent position of an existing one. Only if the position where the new CP is to be inserted is not free, the following control points will be displaced one position forward
    • Manual mode: allows specifying manually the position where the control point is to be inserted
  • Possibility of writing formulas as coordinates, such as “WIDTH / 2”
  • Multiple graphic edition mode, meaning that if we have several graphics selected, a set of control points can be applied to all of them at the same time

These kind of features are the ones I have sometimes missed when working with FPGs in other programs and is for that reason that I decided to include them here.

In conformity with one of the main project goals usability has been kept in mind in every aspect of the control point editor (the editor does what the user expects it to do). This may be difficult to understand here but will certainly be appreciated when working with the editor :).

A capture of the control point editor is shown below:

Control Point Editor

Control Point Editor

Some important things remain to be done before the next release. The first one will be to eliminate totally the dependence of the GDI+ library, and separate the rendering functions into a new module. By eliminating GDI+ library dependence, the program will likely run better on systems different from Win-Xp and above (probably compatibility with Wine in Linux will also increase). The new module will depend on the FreeImage library, but this library is already being used to give support to PNGs graphics, so no new dependences will be added.

Leave a comment