X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Finterface.c;h=630b1f4733683619f2ab23bc912242522b96eefd;hb=c3a2920bab79e0a41b45c74b883367437ab1dd6d;hp=b71d94465f264369eefe08d31fc3cd489c646e57;hpb=43f12a083f112a410859597c5f45e78b1de2e7c8;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/interface.c b/Usermode/Applications/axwin2_src/WM/interface.c index b71d9446..630b1f47 100644 --- a/Usermode/Applications/axwin2_src/WM/interface.c +++ b/Usermode/Applications/axwin2_src/WM/interface.c @@ -1,61 +1,85 @@ /* * Acess GUI (AxWin) Version 2 * By John Hodge (thePowersGang) + * + * interface.c + * > Main Overarching UI */ #include "common.h" +#include "resources/LogoSmall.sif.res.h" // === GLOBALS == int giInterface_Width = 0; + int giInterface_HeaderBarSize = 20; + int giInterface_TabBarSize = 20; tElement *gpInterface_Sidebar; +tElement *gpInterface_ProgramList; tElement *gpInterface_MainArea; tElement *gpInterface_HeaderBar; tElement *gpInterface_TabBar; tElement *gpInterface_TabContent; +const char csLogoSmall[] = "base64:///"RESOURCE_LogoSmall_sif; // === CODE === +/** + * \brief Initialise the UI + */ void Interface_Init(void) { - tElement *area; tElement *btn, *text; - + tElement *ele; + + // Calculate sizes giInterface_Width = giScreenWidth/16; + // Set root window to no-border WM_SetFlags(NULL, 0); // -- Create Sidebar -- - gpInterface_Sidebar = WM_CreateElement(NULL, ELETYPE_TOOLBAR, ELEFLAG_VERTICAL); + gpInterface_Sidebar = WM_CreateElement(NULL, ELETYPE_TOOLBAR, ELEFLAG_VERTICAL, "Sidebar"); WM_SetSize( gpInterface_Sidebar, giInterface_Width ); - // --- Top segment --- - area = WM_CreateElement(gpInterface_Sidebar, ELETYPE_BOX, ELEFLAG_VERTICAL); - // ---- Menu Button ---- - btn = WM_CreateElement(area, ELETYPE_BUTTON, ELEFLAG_NOSTRETCH); - WM_SetSize(btn, 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 1 //text = WM_CreateElement(btn, ELETYPE_IMAGE, ELEFLAG_SCALE); - //WM_SetText(text, "asset://LogoSmall.sif"); - text = WM_CreateElement(btn, ELETYPE_TEXT, 0); + text = WM_CreateElement(btn, ELETYPE_IMAGE, 0, "MenuLogo"); + //WM_SetText(text, "file:///LogoSmall.sif"); + WM_SetText(text, csLogoSmall); + #else + text = WM_CreateElement(btn, ELETYPE_TEXT, 0, NULL); WM_SetText(text, "Acess"); + #endif + // > 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"); + // > Plain
style spacer + ele = WM_CreateElement(gpInterface_Sidebar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "SideBar Spacer Bottom"); + WM_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"); - // ---- Plain
style spacer ---- - WM_CreateElement(area, ELETYPE_SPACER, 0); - - // Open Windows Go Here - - // --- Bottom Segment --- - area = WM_CreateElement(gpInterface_Sidebar, ELETYPE_BOX, ELEFLAG_VERTICAL|ELEFLAG_ALIGN_END); - - // ---- Plain
style spacer ---- - WM_CreateElement(area, ELETYPE_SPACER, 0); - - // ---- Version String ---- - text = WM_CreateElement(area, ELETYPE_TEXT, ELEFLAG_WRAP); - WM_SetText(text, "AxWin 1.0"); - + // -- // -- Create Main Area and regions within -- - gpInterface_MainArea = WM_CreateElement(NULL, ELETYPE_BOX, ELEFLAG_VERTICAL); - gpInterface_HeaderBar = WM_CreateElement(gpInterface_MainArea, ELETYPE_BOX, 0); - gpInterface_TabBar = WM_CreateElement(gpInterface_MainArea, ELETYPE_TABBAR, 0); - gpInterface_TabContent = WM_CreateElement(gpInterface_MainArea, ELETYPE_BOX, 0); + // -- + // > Righthand Area + gpInterface_MainArea = WM_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)"); + // > Tab Bar (Current windows) + gpInterface_TabBar = WM_CreateElement(gpInterface_MainArea, ELETYPE_TABBAR, 0, "TabBar"); + WM_SetSize(gpInterface_TabBar, giInterface_TabBarSize); + // > Application Space + gpInterface_TabContent = WM_CreateElement(gpInterface_MainArea, ELETYPE_BOX, 0, "TabContent"); } void Interface_Update(void)