M
Matt
Please help me. I really don't know a solution to this.
I am trying to re-merge two versions of a library after a badly accepted
code split. FLTK 1 is stable and has very few bugs. It has been
developed in parallel with FLTK 2. FLTK 2 has (by far) a better API, but
has become unstable due to the lack of TLC.
My plan is to map the FLTK 2 API onto the FLTK 1 guts, creating FLTK 3
which is source code compatible to 1 *and* 2.
This is part of the class hierarchy:
class Fl_Widget
class Fl_Group : public Fl_Widget
class Fl_Window : public Fl_Group
and
class fltk::Widget
class fltk::Group : public fltk::Widget
class fltk::Window : public fltk::Group
Now I need a true alias that maps Fl_Widget to fltk::Widget, etc. .
(1) A typedef does not do because a forward declaration of Fl_Widget
would fail:
class Fl_Widget *somePointer;
#include <Widget.h>
typedef fltk::Widget Fl_Widget; // error
(2) The I tried stub classes, generating this hierarchy
class fltk::Widget
class Fl_Widget : public fltk::Widget
class fltk::Group : public fltk::Widget
class Fl_Group : public fltk::Group
class fltk::Window : public fltk::Group
class Fl_Window : public fltk::Window
This fails because Fl_Group is no longer derived from Fl_Widet
(3) This may work, but it *u*gly!
class fltk::Widget
class Fl_Widget : public fltk::Widget
class fltk::Group : public Fl_Widget
class Fl_Group : public fltk::Group
class fltk::Window : public Fl_Group
class Fl_Window : public fltk::Window
(4) Using #define is out of the question... .
Any help is greatly appreciated!
Matthias
I am trying to re-merge two versions of a library after a badly accepted
code split. FLTK 1 is stable and has very few bugs. It has been
developed in parallel with FLTK 2. FLTK 2 has (by far) a better API, but
has become unstable due to the lack of TLC.
My plan is to map the FLTK 2 API onto the FLTK 1 guts, creating FLTK 3
which is source code compatible to 1 *and* 2.
This is part of the class hierarchy:
class Fl_Widget
class Fl_Group : public Fl_Widget
class Fl_Window : public Fl_Group
and
class fltk::Widget
class fltk::Group : public fltk::Widget
class fltk::Window : public fltk::Group
Now I need a true alias that maps Fl_Widget to fltk::Widget, etc. .
(1) A typedef does not do because a forward declaration of Fl_Widget
would fail:
class Fl_Widget *somePointer;
#include <Widget.h>
typedef fltk::Widget Fl_Widget; // error
(2) The I tried stub classes, generating this hierarchy
class fltk::Widget
class Fl_Widget : public fltk::Widget
class fltk::Group : public fltk::Widget
class Fl_Group : public fltk::Group
class fltk::Window : public fltk::Group
class Fl_Window : public fltk::Window
This fails because Fl_Group is no longer derived from Fl_Widet
(3) This may work, but it *u*gly!
class fltk::Widget
class Fl_Widget : public fltk::Widget
class fltk::Group : public Fl_Widget
class Fl_Group : public fltk::Group
class fltk::Window : public Fl_Group
class Fl_Window : public fltk::Window
(4) Using #define is out of the question... .
Any help is greatly appreciated!
Matthias