コード例 #1
0
ファイル: Window.c プロジェクト: romansavrulin/emGUI
void vWindowSetDisposable(xWindow *pxW, bool bState) {
	xWindowProps *xP;
	if (!(xP = (xWindowProps*)pxWidgetGetProps(pxW, WidgetWindow)))
		return;

	xP->bDisposable = bState;
}
コード例 #2
0
ファイル: Window.c プロジェクト: romansavrulin/emGUI
bool bWindowisDisposable(xWindow *pxW) {
	xWindowProps *xP;
	if (!(xP = (xWindowProps*)pxWidgetGetProps(pxW, WidgetWindow)))
		return false;

	return xP->bDisposable;
}
コード例 #3
0
ファイル: Window.c プロジェクト: romansavrulin/emGUI
bool bWindowGetFullScreen(xWindow *pxW) {
	xWindowProps *xP;
	if (!(xP = (xWindowProps*)pxWidgetGetProps(pxW, WidgetWindow)))
		return false;

	return xP->bFullScreen;
}
コード例 #4
0
ファイル: Window.c プロジェクト: romansavrulin/emGUI
const char* pcWindowGetHeader(xWindow *pxW) {
	xWindowProps *xP;
	if (!(xP = (xWindowProps*)pxWidgetGetProps(pxW, WidgetWindow)))
		return NULL;

	return xP->strHeader;
}
コード例 #5
0
static bool prvDraw(xWidget *pxW){
  xProgressBarProps *xP;

  if (!(xP = pxWidgetGetProps(pxW, WidgetProgressBar)))
    return FALSE;

  if(pxW->bValid)
    return FALSE;
// Draw:
  bWidgetDraw(pxW);

  u16 usXfrom = pxW->usX0 + 1;
  u16 usXto = pxW->usX0 + ((pxW->usX1 - 1 - pxW->usX0) * xP->usExProc) / 100;
  u16 usYfrom = pxW->usY0 + usWidgetGetH(xP->pxBarLabel);
  u16 usYto = pxW->usY1 - 1;

  vFramebufferRectangle(pxW->usX0, usYfrom, pxW->usX1 - 1, usYto, 0, FALSE);

  usYfrom++;
  usYto--;
  while (usXfrom <= usXto - 1){
    vFramebufferVLine(usXfrom, usYfrom, usYto, xP->usBarColor);
    ++usXfrom;
  }

  return TRUE;
}
コード例 #6
0
ファイル: Window.c プロジェクト: romansavrulin/emGUI
int iWindowGetID(xWindow * pxW) {
	xWindowProps *xP;

	if (!(xP = (xWindowProps*)pxWidgetGetProps(pxW, WidgetWindow)))
		return -1;

	return xP->eId;
}
コード例 #7
0
ファイル: Window.c プロジェクト: romansavrulin/emGUI
void vWindowSetHeader(xWindow * pxW, char const* strH) {
	xWindowProps *xP;
	int iLen = MIN(strlen(strH), EMGUI_WINDOW_HEADER_LENGTH);
	if (!(xP = (xWindowProps*)pxWidgetGetProps(pxW, WidgetWindow)))
		return;
	memcpy(xP->strHeader, strH, iLen + 1);
	xP->strHeader[iLen] = '\0';
	vWindowManagerUpdateWindow();
}
コード例 #8
0
ファイル: Window.c プロジェクト: romansavrulin/emGUI
static bool prvDispose(xWindow * pxW) {
	xWindowProps *xP;

	if (!(xP = (xWindowProps*)pxWidgetGetProps(pxW, WidgetWindow)))
		return false;

	if (xP->pxOnDispose)
		xP->pxOnDispose(pxW);

	if (xP->strHeader)
		free(xP->strHeader);

	return true;
}
コード例 #9
0
ファイル: Window.c プロジェクト: romansavrulin/emGUI
void vWindowSetFullScreen(xWindow *pxW, bool bFS) {
	xWindowProps *xP;
	if (!(xP = (xWindowProps*)pxWidgetGetProps(pxW, WidgetWindow)))
		return;

	if (bFS) {
		if (bWidgetSetCoords(pxW, 0, 0, EMGUI_LCD_WIDTH, EMGUI_LCD_HEIGHT, true))
			xP->bFullScreen = bFS;
	}
	else {
		if (bWidgetSetCoords(pxW, usWindowManagerGetWindowX(), usWindowManagerGetWindowY(), usWindowManagerGetWindowW(), usWindowManagerGetWindowH(), true))
			xP->bFullScreen = bFS;
	}
	vWindowManagerUpdateWindow();
}
コード例 #10
0
ファイル: Window.c プロジェクト: romansavrulin/emGUI
bool bWindowOpen(xWindow *pxW) {
	xWindowProps *xP;
	if (!(xP = (xWindowProps*)pxWidgetGetProps(pxW, WidgetWindow)))
		return false;

	if (xP->pxOnOpenRequest)
		if (!xP->pxOnOpenRequest(pxW))
			return false;

	vWidgetShow(pxW);

	if (xP->pxOnOpen)
		xP->pxOnOpen(pxW);

	return true;
}
コード例 #11
0
ファイル: Window.c プロジェクト: romansavrulin/emGUI
bool bWindowClose(xWindow *pxW) {
	xWindowProps *xP;
	if (!(xP = (xWindowProps*)pxWidgetGetProps(pxW, WidgetWindow)))
		return false;

	if (xP->pxOnCloseRequest)
		if (!xP->pxOnCloseRequest(pxW))
			return false;

	vWidgetHide(pxW);

	if (xP->pxOnClose)
		xP->pxOnClose(pxW);

	if(xP->bDisposable)
		vWidgetDispose(pxW);

	return true;
}
コード例 #12
0
void vProgressBarSetProcExec(xWidget *pxW, u16 usExecProc){
  xProgressBarProps *xP;
  char pcText[strlen(pcBarText) + 5];

  if (!(xP = pxWidgetGetProps(pxW, WidgetProgressBar)))
    return ;

  if (usExecProc > 100)
    usExecProc = 100;
  
  if(xP->usExProc == usExecProc)
    return;

  sprintf(pcText, "%s %d%c", pcBarText, usExecProc, '%');
  pcLabelSetText(xP->pxBarLabel, pcText);
  xP->usExProc = usExecProc;
  
  vWidgetInvalidate(pxW);
}
コード例 #13
0
ファイル: Window.c プロジェクト: romansavrulin/emGUI
void vWindowSetOnOpenRequestHandler(xWindow * pxW, WidgetEvent pxCallback) {
	xWindowProps *xP;
	if (!(xP = (xWindowProps*)pxWidgetGetProps(pxW, WidgetWindow)))
		return;
	xP->pxOnOpenRequest = pxCallback;
}