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

Linux cross compilation for MorphOS


Build

AmigaOS3 m68k (Linux cross compilation)

$ make cross_aos_m68k

*AmigaOS3 m68k rebuild, parallel on 4 threads/cores (Linux cross compilation) *

$ make clean ; make cross_aos_m68k -j 4

MorphOS PowerPC compilation

$ make mos_ppc

MorphOS rebuild

$ make clean ; make mos_ppc

MorphOS PowerPC (Linux cross compilation)

$ make cross_mos_ppc

MorphOS PowerPC rebuild, parallel on 4 threads/cores (Linux cross compilation)

$ make clean ; make cross_mos_ppc -j 4

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

Version tags

  • 3.8 = MUI 3.8
  • AMUI5 = AmigaOS MUI5
  • MMUI5 = MorphOS MUI5
  • n/a = class/element is not available in that version
MUI class C++ class Wrapper Builder Source Notifier Dest Notifier
MUIC_Application MUI::Application in progress (3.8/AMUI5/MMUI5) 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::Dtpic Ready Ready - -
MUIC_Family MUI::Family Ready (3.8/AMUI5/MMUI5) Ready in progress in progress
MUIC_Filepanel - - - - -
MUIC_Floattext MUI::Floattext Ready (3.8/AMUI5/MMUI5) Ready - -
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 Ready (3.8/AMUI5/MMUI5) in progress in progress in progress
MUIC_Image MUI::Image Ready (3.8/AMUI5/MMUI5) Ready (3.8/AMUI5/MMUI5) - -
MUIC_Keyadjust - - - - -
MUIC_Knob - - - - -
MUIC_Levelmeter - - - - -
MUIC_List MUI::List Ready (3.8/AMUI5/MMUI5) in progress in progress in progress
MUIC_Listview MUI::Listview in progress in progress - -
MUIC_Mccprefs - - - - -
MUIC_Menu MUI::Menu Ready (3.8/AMUI5/MMUI5) Ready in progress in progress
MUIC_Menuitem MUI::Menuitem Ready (3.8/AMUI5/MMUI5) Ready in progress in progress
MUIC_Menustrip MUI::Menustrip Ready (3.8/AMUI5/MMUI5) 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 Ready (AMUI5/MMUI5, 3.8 n/a) 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.

About

AmigaOS/MorphOS MUI C++ wrapper classes

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors