X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Finterface.c;h=91396ee697f452afb3f3e8823030bfcbab9c3d3f;hb=e02f66c7125bf18f77c6c53587238cbd49da2c89;hp=52030f3b398e9300ba4e58bfaa9fd71d17c4b7dd;hpb=b98fbd4e9c71447d81fc9bd643fb174c76346e0f;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/interface.c b/Usermode/Applications/axwin2_src/WM/interface.c index 52030f3b..91396ee6 100644 --- a/Usermode/Applications/axwin2_src/WM/interface.c +++ b/Usermode/Applications/axwin2_src/WM/interface.c @@ -1,72 +1,113 @@ /* * 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; +tApplication *gpInterface_CurrentApp; + +typedef struct sApplicationLink tApplicationLink; + +struct sApplicationLink { + tApplication *App; + tElement *Button; + char Name[]; +}; // === CODE === +/** + * \brief Initialise the UI + */ void Interface_Init(void) { - tElement *area; tElement *btn, *text; - + tElement *ele; + + // Calculate sizes giInterface_Width = giScreenWidth/16; - WM_SetFlags(NULL, 0); + // Set root window to no-border + AxWin_SetFlags(NULL, 0); - // -- Create Sidebar -- - gpInterface_Sidebar = WM_CreateElement(NULL, ELETYPE_TOOLBAR, ELEFLAG_VERTICAL); - 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 ); - // --- 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); - //text = WM_CreateElement(btn, ELETYPE_IMAGE, ELEFLAG_SCALE); - //WM_SetText(text, "asset://LogoSmall.sif"); - text = WM_CreateElement(btn, ELETYPE_TEXT, 0); - WM_SetText(text, "Acess"); + // > System Menu Button + 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