/* --------------------------------------------------------------------- * ShellDlgSizeHook * Handle size events * --------------------------------------------------------------------- */ static int ShellDlgSizeHook(void* w) { CUIWINDOW* win = (CUIWINDOW*) w; CUIWINDOW* ctrl; CUIRECT rc; WindowGetClientRect(win, &rc); ctrl = WindowGetCtrl(win, IDC_TERMINAL); if (ctrl) { WindowMove(ctrl, 0, 0, rc.W, rc.H); } return TRUE; }
static void UpdateDialogPosition(UIStatusWnd *const wnd) { int mainX = 0; int mainY = 0; int mainWidth = 0; int mainHeight = 0; int tonerRepDlgX = 0; int tonerRepDlgY = 0; int tonerRepDlgWidth = 0; int tonerRepDlgHeight = 0; int screenWidth = 0; int screenHeight = 0; if(wnd != NULL){ GtkWidget *mainWindow = UI_DIALOG(wnd)->window; GtkWidget *tonerRepDlg = UI_DIALOG(wnd->toner_replacement_dlg)->window; GetWindowPositionAndSize(mainWindow, &mainX, &mainY, &mainWidth, &mainHeight); GetWindowPositionAndSize(tonerRepDlg, &tonerRepDlgX, &tonerRepDlgY, &tonerRepDlgWidth, &tonerRepDlgHeight); GetScreenSize(mainWindow, &screenWidth, &screenHeight); if((mainX + mainWidth + tonerRepDlgWidth) <= screenWidth){ tonerRepDlgX = mainX + mainWidth; }else if((mainX - tonerRepDlgWidth) >= 0){ tonerRepDlgX = mainX - tonerRepDlgWidth; }else if((mainX + (mainWidth / 2)) < (screenWidth / 2)){ tonerRepDlgX = screenWidth - tonerRepDlgWidth; }else{ tonerRepDlgX = 0; } tonerRepDlgY = mainY; WindowMove(tonerRepDlg, tonerRepDlgX, tonerRepDlgY); } }