/********************************************************************* * * FRAMEWIN_AddMenu */ void FRAMEWIN_AddMenu(FRAMEWIN_Handle hObj, WM_HWIN hMenu) { if (hObj) { FRAMEWIN_Obj* pObj; WM_LOCK(); pObj = FRAMEWIN_H2P(hObj); if (pObj) { int TitleHeight, BorderSize, IBorderSize = 0; int x0, y0, xSize; TitleHeight = FRAMEWIN__CalcTitleHeight(pObj); BorderSize = pObj->Props.BorderSize; if (pObj->Widget.State & FRAMEWIN_SF_TITLEVIS) { IBorderSize = pObj->Props.IBorderSize; } x0 = BorderSize; y0 = BorderSize + TitleHeight + IBorderSize; xSize = WM__GetWindowSizeX(&pObj->Widget.Win); xSize -= BorderSize * 2; pObj->hMenu = hMenu; if (pObj->cb) { MENU_SetOwner(hMenu, pObj->hClient); } MENU_Attach(hMenu, hObj, x0, y0, xSize, 0, 0); WM_SetAnchor(hMenu, WM_CF_ANCHOR_LEFT | WM_CF_ANCHOR_RIGHT); FRAMEWIN__UpdatePositions(pObj); FRAMEWIN_Invalidate(hObj); } WM_UNLOCK(); } }
void FRAMEWIN_SetClientColor(FRAMEWIN_Handle hObj, GUI_COLOR Color) { GUI_LOCK(); if (hObj) { FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj); pObj->ClientColor = Color; FRAMEWIN_Invalidate(hObj); } GUI_UNLOCK(); }
void FRAMEWIN_SetBarColor(FRAMEWIN_Handle hObj, int index, GUI_COLOR color) { GUI_LOCK(); if (hObj) { FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj); pObj->BarColor[index] = color; FRAMEWIN_Invalidate(hObj); } GUI_UNLOCK(); }
void FRAMEWIN_SetTextPos(FRAMEWIN_Handle hObj, int XOff, int YOff) { GUI_LOCK(); if (hObj) { FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj); pObj->XOff = XOff; pObj->YOff = YOff; FRAMEWIN_Invalidate(hObj); } GUI_UNLOCK(); }
/********************************************************************* * * Exported routines: Various methods * ********************************************************************** */ void FRAMEWIN_SetFont(FRAMEWIN_Handle hObj, const GUI_FONT* pFont) { GUI_LOCK(); if (hObj) { FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj); pObj->pFont = pFont; CalcPositions(hObj); FRAMEWIN_Invalidate(hObj); } GUI_UNLOCK(); }
/********************************************************************* * * FRAMEWIN_SetFont */ void FRAMEWIN_SetFont(FRAMEWIN_Handle hObj, const GUI_FONT GUI_UNI_PTR * pFont) { GUI_LOCK(); if (hObj) { FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj); int OldHeight = FRAMEWIN__CalcTitleHeight(pObj); pObj->Props.pFont = pFont; FRAMEWIN__UpdatePositions(pObj); FRAMEWIN__UpdateButtons(pObj, OldHeight); FRAMEWIN_Invalidate(hObj); } GUI_UNLOCK(); }
void FRAMEWIN_SetText(FRAMEWIN_Handle hObj, const char* s) { char NeedsInvalidate; GUI_LOCK(); if (hObj) { FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj); NeedsInvalidate = 1; if (s && pObj->pText) { if (strcmp(s, pObj->pText) == 0) { NeedsInvalidate = 0; } } pObj->pText = s; if (NeedsInvalidate) { FRAMEWIN_Invalidate(hObj); } } GUI_UNLOCK(); }
void FRAMEWIN_SetTextAlign(FRAMEWIN_Handle hObj, int Align) { GUI_LOCK(); if (hObj) { FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj); pObj->TextAlign = Align; switch (Align) { case GUI_TA_HCENTER: pObj->XOff = (pObj->rClient.x1 - pObj->rClient.x0) / 2; break; case GUI_TA_LEFT: pObj->XOff = pObj->FrameSize; break; case GUI_TA_RIGHT: pObj->XOff = pObj->rClient.x1 - pObj->FrameSize; break; } FRAMEWIN_Invalidate(hObj); } GUI_UNLOCK(); }