int WM_IsWindow(WM_HWIN hWin) { int r; WM_LOCK(); r = WM__IsWindow(hWin); WM_UNLOCK(); return r; }
/********************************************************************* * * EDIT_SetHexMode */ void EDIT_SetHexMode(EDIT_Handle hEdit, U32 Value, U32 Min, U32 Max) { EDIT_Obj* pObj; WM_LOCK(); if (hEdit) { int MaxLen; pObj = EDIT_H2P(hEdit); pObj->pfAddKeyEx = _AddKeyHex; pObj->pfUpdateBuffer= _UpdateBuffer; pObj->CurrentValue = Value; pObj->CursorPos = 0; MaxLen = pObj->MaxLen; if (MaxLen <= 0 ) { MaxLen = _GetNumDigits(Max); } if (MaxLen > 8) { MaxLen = 8; } if (MaxLen != pObj->MaxLen) { EDIT_SetMaxLen(hEdit, MaxLen); } pObj->Min = Min; pObj->Max = Max; pObj->EditMode = GUI_EDIT_MODE_OVERWRITE; _UpdateBuffer(hEdit); WM_Invalidate(hEdit); } WM_UNLOCK(); }
/* Invalidate, using desktop coordinates */ void WM_InvalidateBWinAbs(WM_HWIN hWin, const GUI_RECT*pRect) { GUI_RECT r = *pRect; WM_LOCK(); GUI_MoveRect(&r, -WM_H2P(hWin)->Rect.x0, -WM_H2P(hWin)->Rect.y0); WM_InvalidateRect(hWin, &r); WM_UNLOCK(); }
/********************************************************************* * * PROGBAR_SetText */ void PROGBAR_SetText(PROGBAR_Handle hObj, const char* s) { if (hObj) { PROGBAR_Obj* pObj; const GUI_FONT GUI_UNI_PTR * pOldFont; GUI_RECT r1; char acBuffer[5]; WM_LOCK(); pObj = PROGBAR_H2P(hObj); pOldFont = GUI_SetFont(pObj->Props.pFont); PROGBAR__GetTextRect(pObj, &r1, PROGBAR__GetText(pObj, acBuffer)); if (!s) { PROGBAR__FreeText(hObj); WM_InvalidateRect(hObj, &r1); } else { if (GUI__SetText(&pObj->hpText, s)) { GUI_RECT r2; PROGBAR__GetTextRect(pObj, &r2, PROGBAR__GetText(pObj, acBuffer)); GUI_MergeRect(&r1, &r1, &r2); WM_InvalidateRect(hObj, &r1); } } GUI_SetFont(pOldFont); WM_UNLOCK(); } }
WM_HWIN WM_GetDialogItem(WM_HWIN hWin, int Id) { WM_HWIN r; WM_LOCK(); r = WM__GetDialogItem(hWin, Id); WM_UNLOCK(); return r; }
/********************************************************************* * * GRAPH_DATA_XY_Create */ GRAPH_DATA_Handle GRAPH_DATA_XY_Create(GUI_COLOR Color, unsigned MaxNumItems, GUI_POINT * pItems, unsigned NumItems) { GRAPH_DATA_Handle hDataObj; WM_LOCK(); hDataObj = GUI_ALLOC_AllocZero(sizeof(GRAPH_DATA_XY_OBJ)); if (hDataObj) { GRAPH_DATA_XY_OBJ * pDataXYObj; WM_HMEM hData; int BufferSize; BufferSize = sizeof(GUI_POINT) * MaxNumItems; hData = GUI_ALLOC_AllocZero(BufferSize); if (hData && pItems && NumItems) { void * p; p = GUI_ALLOC_h2p(hData); memcpy(p, pItems, sizeof(GUI_POINT) * NumItems); } pDataXYObj = (GRAPH_DATA_XY_OBJ *)GUI_ALLOC_h2p(hDataObj); pDataXYObj->hData = hData; pDataXYObj->PenSize = 1; pDataXYObj->GraphDataObj.Color = Color; pDataXYObj->GraphDataObj.MaxNumItems = MaxNumItems; pDataXYObj->GraphDataObj.NumItems = NumItems; pDataXYObj->GraphDataObj.PaintObj.pfOnPaint = _OnPaint; pDataXYObj->GraphDataObj.PaintObj.pfOnDelete = _OnDelete; } WM_UNLOCK(); return hDataObj; }
/********************************************************************* * * WM_GetWindowOrgY */ int WM_GetWindowOrgY(WM_HWIN hWin) { int r; WM_LOCK(); r = WM_HANDLE2PTR(hWin)->Rect.y0; WM_UNLOCK(); return r; }
SLIDER_Handle SLIDER_Create (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int WinFlags, int SpecialFlags) { SLIDER_Handle hObj; /* Create the window */ WM_LOCK(); hObj = WM_CreateWindowAsChild(x0, y0, xsize, ysize, hParent, WinFlags, _SLIDER_Callback, sizeof(SLIDER_Obj)-sizeof(WM_Obj)); if (hObj) { SLIDER_Obj* pObj = SLIDER_H2P(hObj); U16 InitState; /* Handle SpecialFlags */ InitState = WIDGET_STATE_ENABLED; if (SpecialFlags & SLIDER_CF_VERTICAL) { InitState |= WIDGET_CF_VERTICAL; } /* init widget specific variables */ WIDGET__Init(&pObj->Widget, InitState); /* init member variables */ SLIDER_INIT_ID(pObj); pObj->Widget.Id = Id; pObj->aBkColor[0] = SLIDER_BKCOLOR0_DEFAULT; pObj->aBkColor[1] = SLIDER_BKCOLOR1_DEFAULT; pObj->aColor[0] = SLIDER_COLOR0_DEFAULT; pObj->aColor[1] = SLIDER_COLOR1_DEFAULT; pObj->Width = 8; pObj->Max =100; pObj->Min =0; pObj->NumSections = 10; } else { GUI_DEBUG_ERROROUT_IF(hObj==0, "SLIDER_Create failed") } WM_UNLOCK(); return hObj; }
/********************************************************************* * * WM_GetParent */ WM_HWIN WM_GetParent(WM_HWIN hWin) { if (hWin) { WM_LOCK(); hWin = WM_H2P(hWin)->hParent; WM_UNLOCK(); } return hWin; }
void WM_GetWindowRect(GUI_RECT* pRect) { WM_LOCK(); if (pRect) { WM_Obj* pWin = WM_HANDLE2PTR(GUI_Context.hAWin); *pRect = pWin->Rect; } WM_UNLOCK(); }
WM_HWIN WM_GetParent(WM_HWIN hWin) { WM_LOCK(); if (hWin) { hWin = WM_H2P(hWin)->hParent; } WM_UNLOCK(); return hWin; }
/********************************************************************* * * LISTBOX_AddKey * * Returns: 1 if Key has been consumed * 0 else */ int LISTBOX_AddKey(LISTBOX_Handle hObj, int Key) { int r = 0; if (hObj) { WM_LOCK(); r = _AddKey(hObj, Key); WM_UNLOCK(); } return r; }
/********************************************************************* * * LISTVIEW_SetItemBkColor */ void LISTVIEW_SetItemBkColor(LISTVIEW_Handle hObj, unsigned Column, unsigned Row, unsigned int Index, GUI_COLOR Color) { LISTVIEW_CELL_INFO* pCellInfo; WM_LOCK(); pCellInfo = _GetpCellInfo(hObj, Column, Row, Index); if (pCellInfo) { pCellInfo->aBkColor[Index] = Color; } WM_UNLOCK(); }
/********************************************************************* * * WM_GetPrevSibling */ WM_HWIN WM_GetPrevSibling(WM_HWIN hWin) { WM_HWIN hPrev = 0; WM_LOCK(); if (hWin) { hPrev = WM__GetPrevSibling(hWin); } WM_UNLOCK(); return hPrev; }
/********************************************************************* * * LISTVIEW_DecSel */ void LISTVIEW_DecSel(LISTVIEW_Handle hObj) { if (hObj) { LISTVIEW_Obj* pObj; WM_LOCK(); pObj = LISTVIEW_H2P(hObj); LISTVIEW__MoveSel(hObj, pObj, -1); WM_UNLOCK(); } }
/********************************************************************* * * LISTVIEW_SetColumnWidth */ void LISTVIEW_SetColumnWidth(LISTVIEW_Handle hObj, unsigned int Index, int Width) { if (hObj) { LISTVIEW_Obj * pObj; WM_LOCK(); pObj = LISTVIEW_H2P(hObj); HEADER_SetItemWidth(pObj->hHeader, Index, Width); WM_UNLOCK(); } }
unsigned LISTVIEW_GetEnterInfo(void ) { unsigned cur; WM_LOCK(); cur = EnterPressed; EnterPressed = 0; WM_UNLOCK(); return cur; }
/********************************************************************* * * SCROLLBAR_AddValue */ void SCROLLBAR_AddValue(SCROLLBAR_Handle hObj, int Add) { SCROLLBAR_Obj* pObj; if (hObj) { WM_LOCK(); pObj = SCROLLBAR_H2P(hObj); SCROLLBAR_SetValue(hObj, pObj->v + Add); WM_UNLOCK(); } }
/********************************************************************* * * WM_IsCompletelyVisible * */ char WM_IsCompletelyVisible(WM_HWIN hWin) { int r = 0; if (hWin) { WM_LOCK(); r = _IsCompletelyVisible(hWin); WM_UNLOCK(); } return r; }
/********************************************************************* * * WM_GetWindowOrgX */ int WM_GetWindowOrgX(WM_HWIN hWin) { int r = 0; if (hWin) { WM_LOCK(); r = WM_HANDLE2PTR(hWin)->Rect.x0; WM_UNLOCK(); } return r; }
/********************************************************************* * * LISTBOX_SetScrollStepH */ void LISTBOX_SetScrollStepH(LISTBOX_Handle hObj, int Value) { if (hObj) { LISTBOX_Obj * pObj; WM_LOCK(); pObj = LISTBOX_H2P(hObj); pObj->Props.ScrollStepH = Value; WM_UNLOCK(); } }
/********************************************************************* * * WM_IsEnabled */ int WM_IsEnabled(WM_HWIN hObj) { int r = 0; if (hObj) { WM_LOCK(); r = WM__IsEnabled(hObj); WM_UNLOCK(); } return r; }
void WM_SetCapture(WM_HWIN hObj, int AutoRelease) { WM_LOCK(); if (WM__hCapture != hObj) { WM__ReleaseCapture(); } WM__hCapture = hObj; WM__CaptureReleaseAuto = AutoRelease; WM_UNLOCK(); }
/********************************************************************* * * RADIO_AddValue */ void RADIO_AddValue(RADIO_Handle hObj, int Add) { if (hObj) { RADIO_Obj* pObj; WM_LOCK(); pObj = RADIO_H2P(hObj); RADIO_SetValue(hObj, pObj->Sel + Add); WM_UNLOCK(); } }
/********************************************************************* * * FRAMEWIN_Maximize */ void FRAMEWIN_Maximize(FRAMEWIN_Handle hObj) { if (hObj) { FRAMEWIN_Obj* pObj; WM_LOCK(); pObj = FRAMEWIN_H2P(hObj); _MaximizeFramewin(hObj, pObj); WM_UNLOCK(); } }
/********************************************************************* * * EDIT_SetpfUpdateBuffer */ void EDIT_SetpfUpdateBuffer(EDIT_Handle hObj, tEDIT_UpdateBuffer * pfUpdateBuffer) { if (hObj) { EDIT_Obj* pObj; WM_LOCK(); pObj = EDIT_H2P(hObj); pObj->pfUpdateBuffer = pfUpdateBuffer; WM_UNLOCK(); } }
/********************************************************************* * * EDIT_SetpfAddKeyEx */ void EDIT_SetpfAddKeyEx(EDIT_Handle hObj, tEDIT_AddKeyEx * pfAddKeyEx) { if (hObj) { EDIT_Obj* pObj; WM_LOCK(); pObj = EDIT_H2P(hObj); pObj->pfAddKeyEx = pfAddKeyEx; WM_UNLOCK(); } }
/********************************************************************* * * WM_GetDialogItem */ WM_HWIN WM_GetDialogItem(WM_HWIN hWin, int Id) { WM_HWIN r = 0; if (hWin) { WM_LOCK(); r = _GetDialogItem(hWin, Id); WM_UNLOCK(); } return r; }
/********************************************************************* * * WM_SetFocusOnNextChild */ WM_HWIN WM_SetFocusOnNextChild(WM_HWIN hParent) { WM_HWIN r = 0; if (hParent) { WM_LOCK(); r = _SetFocusOnNextChild(hParent); WM_UNLOCK(); } return r; }
/********************************************************************* * * SCROLLBAR_CreateEx */ SCROLLBAR_Handle SCROLLBAR_CreateEx(int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int WinFlags, int ExFlags, int Id) { SCROLLBAR_Handle hObj; WM_LOCK(); /* Set defaults if necessary */ if ((xsize == 0) && (ysize == 0)) { GUI_RECT Rect; WM_GetInsideRectEx(hParent, &Rect); if (ExFlags & SCROLLBAR_CF_VERTICAL) { xsize = SCROLLBAR__DefaultWidth; x0 = Rect.x1 + 1 - xsize; y0 = Rect.y0; ysize = Rect.y1 - Rect.y0 + 1; } else { ysize = SCROLLBAR__DefaultWidth; y0 = Rect.y1 + 1 - ysize; x0 = Rect.x0; xsize = Rect.x1 - Rect.x0 + 1; } } /* Create the window */ hObj = WM_CreateWindowAsChild(x0, y0, xsize, ysize, hParent, WinFlags, _SCROLLBAR_Callback, sizeof(SCROLLBAR_Obj) - sizeof(WM_Obj)); if (hObj) { SCROLLBAR_Obj* pObj = SCROLLBAR_H2P(hObj); U16 InitState; /* Handle SpecialFlags */ InitState = 0; if (ExFlags & SCROLLBAR_CF_VERTICAL) { InitState |= WIDGET_CF_VERTICAL; } if (ExFlags & SCROLLBAR_CF_FOCUSSABLE) { InitState |= WIDGET_STATE_FOCUSSABLE; } if ((Id != GUI_ID_HSCROLL) && (Id != GUI_ID_VSCROLL)) { InitState |= WIDGET_STATE_FOCUSSABLE; } /* init widget specific variables */ WIDGET__Init(&pObj->Widget, Id, InitState); /* init member variables */ SCROLLBAR_INIT_ID(pObj); pObj->aBkColor[0] = SCROLLBAR__aDefaultBkColor[0]; pObj->aBkColor[1] = SCROLLBAR__aDefaultBkColor[1]; pObj->aColor[0] = SCROLLBAR__aDefaultColor[0]; pObj->aColor[1] = SCROLLBAR__aDefaultColor[1]; pObj->NumItems = 100; pObj->PageSize = 10; pObj->v = 0; SCROLLBAR__InvalidatePartner(hObj); } else { GUI_DEBUG_ERROROUT_IF(hObj==0, "SCROLLBAR_Create failed") } WM_UNLOCK(); return hObj; }