Skip to content

tdolphin-org/AmigaOS.MUI.cpp.wrapper

Repository files navigation

AmigaOS.MUI.cpp.wrapper

AmigaOS/MorphOS MUI C++ Wrapper Classes is a modern C++17 library that provides wrapper classes for the Magic User Interface (MUI) on AmigaOS and MorphOS. These classes simplify interaction with the MUI API, enabling developers to use C++ idioms and abstractions to build robust and maintainable user interfaces. The library encapsulates MUI elements within object-oriented classes, improving code readability and reducing the need for low-level MUI calls, thus allowing developers to focus on higher-level design and functionality.

Not all MUI classes/attributes/methods are implemented! (work in progress)


Requirements for build

MorphOS compilation

Linux cross compilation for AmigaOS


Build

Linux cross compilation for AmigaOS3 m68k

$ make aos_m68k

Linux rebuild (parallel on 4 threads/cores) for AmigaOS3 m68k

$ make clean ; make aos_m68k -j 4

MorphOS PowerPC compilation

$ make mos_ppc

MorphOS rebuild

$ make clean ; make mos_ppc

build structure in wrappers folder

obj -> morphos  -> ppc  -> *.o
    -> amigaos  -> m68k -> *.o

lib -> morphos  -> ppc  -> libMUIcpp.a
    -> amigaos  -> m68k -> libMUIcpp.a

Examples

basic example

All code in one file, see: Main.cpp

basic example window

advanced example

Code extended and divided in many files (Components), see: advanced

advanced example window


Implementation status

MUI class C++ class Wrapper Builder Source Notifier Dest Notifier
MUIC_Application MUI::Application in progress in progress - in progress
MUIC_Area MUI::Area in progress in progress in progress in progress
MUIC_Argstring - - - - -
MUIC_Balance MUI::Balance Ready Ready not applicable not applicable
MUIC_Bitmap - - - - -
MUIC_Bodychunk - - - - -
MUIC_Boopsi - - - - -
MUIC_Coloradjust MUI::Coloradjust Ready Ready - -
MUIC_Colorfield MUI::Colorfield Ready Ready - -
MUIC_Cycle MUI::Cycle Ready Ready Ready Ready
MUIC_Datamap - - - - -
MUIC_Dataspace - - - - -
MUIC_Dirlist - - - - -
MUIC_Dtpic MUI::Dtpict Ready Ready - -
MUIC_Family MUI::Family in progress in progress in progress in progress
MUIC_Filepanel - - - - -
MUIC_Floattext MUI::Floattext in progress in progress - -
MUIC_Fontdisplay - - - - -
MUIC_Fontpanel MUI::Fontpanel Ready Ready - -
MUIC_Gadget MUI::Gadget Ready Ready not applicable not applicable
MUIC_Gauge MUI::Gauge Ready Ready - -
MUIC_Group MUI::Group in progress in progress in progress in progress
MUIC_Image MUI::Image in progress in progress - -
MUIC_Keyadjust - - - - -
MUIC_Knob - - - - -
MUIC_Levelmeter - - - - -
MUIC_List MUI::List in progress in progress in progress in progress
MUIC_Listview MUI::Listview in progress in progress - -
MUIC_Mccprefs - - - - -
MUIC_Menu MUI::Menu Ready Ready in progress in progress
MUIC_Menuitem MUI::Menuitem in progress Ready in progress in progress
MUIC_Menustrip MUI::Menustrip in progress Ready - -
MUIC_Notify MUI::Notify in progress Ready in progress in progress
MUIC_Numericbutton - - - - -
MUIC_Numeric MUI::Numeric Ready Ready - -
MUIC_Objectmap - - - - -
MUIC_Palette - - - - -
MUIC_Panel MUI::Panel Ready Ready not applicable not applicable
MUIC_Penadjust - - - - -
MUIC_Pendisplay MUI::Pendisplay Ready Ready in progress in progress
MUIC_Pixmap - - - - -
MUIC_Popasl MUI::Popasl Ready Ready - -
MUIC_Poplist - - - - -
MUIC_Popobject - - - - -
MUIC_Poppen MUI::Poppen Ready Ready not applicable not applicable
MUIC_Popscreen - - - - -
MUIC_Popstring MUI::Popstring Ready Ready - -
MUIC_Process - - - - -
MUIC_Prop MUI::Prop Ready Ready Ready Ready
MUIC_Radio MUI::Radio Ready Ready - -
MUIC_Rectangle MUI::Rectangle Ready Ready not applicable -
MUIC_Register MUI::Register Ready Ready not applicable Ready
MUIC_Scale MUI::Scale Ready Ready - -
MUIC_Screenmodepanel - - - - -
MUIC_Scrmodelist - - - - -
MUIC_Scrollbar MUI::Scrollbar Ready Ready - -
MUIC_Scrollgroup MUI::Scrollgroup in progress Ready - -
MUIC_Selectgroup - - - - -
MUIC_Semaphore - - - - -
MUIC_Slave - - - - -
MUIC_Slider MUI::Slider Ready Ready - -
MUIC_String MUI::String in progress in progress in progress in progress
MUIC_Textdata - - - - -
MUIC_Text MUI::Text in progress in progress - -
MUIC_Title MUI::Title in progress Ready - -
MUIC_Virtgroup MUI::Virtgroup in progress Ready - -
MUIC_Volumelist - - - - -
MUIC_Window MUI::Window in progress in progress in progress in progress
... ... - - - -
MCC class C++ class Wrapper Builder Source Notifier Dest Notifier
MUIC_Busy MUI::Busy Ready Ready - -
... ... - - - -

Additional info

Method comments in Wrapper classes are mostly from MUI documentation.

Releases

No releases published

Packages

No packages published