X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Finterface.c;h=91396ee697f452afb3f3e8823030bfcbab9c3d3f;hb=bd2f2872dd2c125d9200a0465cdeddaf8794e31f;hp=d4ad424f04eb7d0b4ccb4fd662a0839a082cd188;hpb=9bf83176e50b61185f11e0742f89464d870381df;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/interface.c b/Usermode/Applications/axwin2_src/WM/interface.c index d4ad424f..91396ee6 100644 --- a/Usermode/Applications/axwin2_src/WM/interface.c +++ b/Usermode/Applications/axwin2_src/WM/interface.c @@ -6,6 +6,7 @@ * > Main Overarching UI */ #include "common.h" +#include "resources/LogoSmall.sif.res.h" // === GLOBALS == int giInterface_Width = 0; @@ -17,6 +18,16 @@ tElement *gpInterface_MainArea; tElement *gpInterface_HeaderBar; tElement *gpInterface_TabBar; tElement *gpInterface_TabContent; +const char csLogoSmall[] = "base64:///"RESOURCE_LogoSmall_sif; +tApplication *gpInterface_CurrentApp; + +typedef struct sApplicationLink tApplicationLink; + +struct sApplicationLink { + tApplication *App; + tElement *Button; + char Name[]; +}; // === CODE === /** @@ -31,62 +42,72 @@ void Interface_Init(void) giInterface_Width = giScreenWidth/16; // Set root window to no-border - WM_SetFlags(NULL, 0); + AxWin_SetFlags(NULL, 0); - // -- Create Sidebar -- - gpInterface_Sidebar = WM_CreateElement(NULL, ELETYPE_TOOLBAR, ELEFLAG_VERTICAL, "Sidebar"); - WM_SetSize( gpInterface_Sidebar, giInterface_Width ); + // -- Create Sidebar (Menu and Window List) -- + gpInterface_Sidebar = AxWin_CreateElement(NULL, ELETYPE_TOOLBAR, ELEFLAG_VERTICAL, "Sidebar"); + AxWin_SetSize( gpInterface_Sidebar, giInterface_Width ); // > System Menu Button - btn = WM_CreateElement(gpInterface_Sidebar, ELETYPE_BUTTON, ELEFLAG_NOSTRETCH, "SystemMenu"); - WM_SetSize(btn, giInterface_Width-4); - // TODO: Once image loading is implemented, switch to a logo - #if 0 - text = WM_CreateElement(btn, ELETYPE_IMAGE, ELEFLAG_SCALE); - WM_SetText(text, "asset://LogoSmall.sif"); - #else - text = WM_CreateElement(btn, ELETYPE_TEXT, 0, NULL); - WM_SetText(text, "Acess"); - #endif + btn = AxWin_CreateElement(gpInterface_Sidebar, ELETYPE_BUTTON, ELEFLAG_NOSTRETCH, "SystemMenu"); + AxWin_SetSize(btn, giInterface_Width-4); + //text = AxWin_CreateElement(btn, ELETYPE_IMAGE, ELEFLAG_SCALE, "MenuLogo"); + text = AxWin_CreateElement(btn, ELETYPE_IMAGE, 0, "MenuLogo"); + //AxWin_SetText(text, "file:///LogoSmall.sif"); + AxWin_SetText(text, csLogoSmall); + // > Plain
style spacer - ele = WM_CreateElement(gpInterface_Sidebar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "SideBar Spacer Top"); - WM_SetSize(ele, 4); - // > Application List - gpInterface_ProgramList = WM_CreateElement(gpInterface_Sidebar, ELETYPE_BOX, ELEFLAG_VERTICAL, "ProgramList"); + ele = AxWin_CreateElement(gpInterface_Sidebar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "SideBar Spacer Top"); + AxWin_SetSize(ele, 4); + + // > Application List (Window list on most OSs) + gpInterface_ProgramList = AxWin_CreateElement(gpInterface_Sidebar, ELETYPE_BOX, ELEFLAG_VERTICAL, "ProgramList"); + // > Plain
style spacer - ele = WM_CreateElement(gpInterface_Sidebar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "SideBar Spacer Bottom"); - WM_SetSize(ele, 4); + ele = AxWin_CreateElement(gpInterface_Sidebar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "SideBar Spacer Bottom"); + AxWin_SetSize(ele, 4); + // > Version/Time - text = WM_CreateElement(gpInterface_Sidebar, ELETYPE_TEXT, ELEFLAG_NOSTRETCH, "Version String"); - WM_SetSize(text, 20); - WM_SetText(text, "2.0"); + text = AxWin_CreateElement(gpInterface_Sidebar, ELETYPE_TEXT, ELEFLAG_NOSTRETCH, "Version String"); + AxWin_SetSize(text, 20); + AxWin_SetText(text, "2.0"); // -- // -- Create Main Area and regions within -- // -- // > Righthand Area - gpInterface_MainArea = WM_CreateElement(NULL, ELETYPE_BOX, ELEFLAG_VERTICAL, "MainArea"); + gpInterface_MainArea = AxWin_CreateElement(NULL, ELETYPE_BOX, ELEFLAG_VERTICAL, "MainArea"); // > Header Bar (Title) - gpInterface_HeaderBar = WM_CreateElement(gpInterface_MainArea, ELETYPE_BOX, 0, "HeaderBar"); - WM_SetSize(gpInterface_HeaderBar, giInterface_HeaderBarSize); - text = WM_CreateElement(gpInterface_HeaderBar, ELETYPE_TEXT, 0, NULL); - WM_SetText(text, "Acess2 GUI - By thePowersGang (John Hodge)"); + gpInterface_HeaderBar = AxWin_CreateElement(gpInterface_MainArea, ELETYPE_BOX, 0, "HeaderBar"); + AxWin_SetSize(gpInterface_HeaderBar, giInterface_HeaderBarSize); + text = AxWin_CreateElement(gpInterface_HeaderBar, ELETYPE_TEXT, 0, NULL); + AxWin_SetText(text, "Acess2 GUI - By thePowersGang (John Hodge)"); // > Tab Bar (Current windows) - gpInterface_TabBar = WM_CreateElement(gpInterface_MainArea, ELETYPE_TABBAR, 0, "TabBar"); - WM_SetSize(gpInterface_TabBar, giInterface_TabBarSize); + gpInterface_TabBar = AxWin_CreateElement(gpInterface_MainArea, ELETYPE_TABBAR, 0, "TabBar"); + AxWin_SetSize(gpInterface_TabBar, giInterface_TabBarSize); // > Application Space - gpInterface_TabContent = WM_CreateElement(gpInterface_MainArea, ELETYPE_BOX, 0, "TabContent"); + gpInterface_TabContent = AxWin_CreateElement(gpInterface_MainArea, ELETYPE_BOX, 0, "TabContent"); } void Interface_Update(void) { +// tApplication *app; +// tApplicationLink *lnk; giInterface_Width = giScreenWidth/16; - WM_SetSize( gpInterface_Sidebar, giInterface_Width ); + AxWin_SetSize( gpInterface_Sidebar, giInterface_Width ); + + // Scan application list for changes + // - HACK for now, just directly access it +// for( app = gWM_Applications; app; app = app->Next ) +// { +// AxWin_CreateElement(); +// } + + // Update current tab list } void Interface_Render(void) { - Video_FillRect( 0, 0, giInterface_Width, giScreenHeight,