/*********************************************************************
*
*       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();
    }
}
Exemple #2
0
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();
}
Exemple #3
0
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();
}
Exemple #4
0
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();
}
Exemple #5
0
/*********************************************************************
*
*        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();
}
Exemple #7
0
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();
}
Exemple #8
0
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();
}