#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */@Jacek Piszczek, post #2
Dodać do jakich inkludów dokładniej?
Co próbujesz zrobić? Jakiś błąd dostajesz?
@ede, post #3
@ede, post #3
@Jacek Piszczek, post #5
/* compile with "ppc-morphos-g++-9 -noixemul -o helloworld_mui helloworld_mui.cpp" */
#include <proto/muimaster.h>
#include <proto/intuition.h>
#include <proto/alib.h> // bez tych dwóch inkludów nie kompiluje się jako C++
#include <proto/exec.h> //
Object *App, *Win;
Object* build_gui(void)
{
App = MUI_NewObject(MUIC_Application,
MUIA_Application_Author, (ULONG)"Grzegorz Kraszewski",
MUIA_Application_Base, (ULONG)"HELLOWORLD",
MUIA_Application_Copyright, (ULONG)"Š 2010 Grzegorz Kraszewski",
MUIA_Application_Description, (ULONG)"Hello World in MUI.",
MUIA_Application_Title, (ULONG)"Hello World",
MUIA_Application_Version, (ULONG)"$VER: HelloWorld 1.0 (16.11.2010)",
MUIA_Application_Window, (ULONG)(Win = MUI_NewObject(MUIC_Window,
MUIA_Window_Title, (ULONG)"Hello World",
MUIA_Window_RootObject, MUI_NewObject(MUIC_Group,
MUIA_Group_Child, MUI_NewObject(MUIC_Text,
MUIA_Text_Contents, (ULONG)"Hello world!",
TAG_END),
TAG_END),
TAG_END)),
TAG_END);
}
void notifications(void)
{
DoMethod(Win, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, App, 2,
MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
}
void main_loop(void)
{
ULONG signals = 0;
SetAttrs(Win, MUIA_Window_Open, TRUE, TAG_END); // set(Win, MUIA_Window_Open, TRUE); - tak jest w oryginale
while (DoMethod(App, MUIM_Application_NewInput, &signals) != MUIV_Application_ReturnID_Quit)
{
signals = Wait(signals | SIGBREAKF_CTRL_C);
if (signals & SIGBREAKF_CTRL_C) break;
}
SetAttrs(Win, MUIA_Window_Open, FALSE, TAG_END); // set(Win, MUIA_Window_Open, FALSE); - tak jest w oryginale
}
int main(void)
{
if (App = build_gui())
{
notifications();
main_loop();
MUI_DisposeObject(App);
}
return 0;
}@ede, post #6
Object* build_gui(void)
{
return MUI_NewObject(MUIC_Application,
MUIA_Application_Author, (ULONG)"Grzegorz Kraszewski",
MUIA_Application_Base, (ULONG)"HELLOWORLD",
MUIA_Application_Copyright, (ULONG)"Š 2010 Grzegorz Kraszewski",
MUIA_Application_Description, (ULONG)"Hello World in MUI.",
MUIA_Application_Title, (ULONG)"Hello World",
MUIA_Application_Version, (ULONG)"$VER: HelloWorld 1.0 (16.11.2010)",
MUIA_Application_Window, (ULONG)(Win = MUI_NewObject(MUIC_Window,
MUIA_Window_Title, (ULONG)"Hello World",
MUIA_Window_RootObject, MUI_NewObject(MUIC_Group,
MUIA_Group_Child, MUI_NewObject(MUIC_Text,
MUIA_Text_Contents, (ULONG)"Hello world!",
TAG_END),
TAG_END),
TAG_END)),
TAG_END);
}@Jacek Piszczek, post #7
while (DoMethod(App, MUIM_Application_NewInput, &signals) != MUIV_Application_ReturnID_Quit)
while (DoMethod(App, MUIM_Application_NewInput, &signals) != (ULONG)MUIV_Application_ReturnID_Quit)
if (App = build_gui())
App = build_gui(); if (App)
if (App = build_gui())
if (App != NULL)