Lines Matching refs:win
32 void initWindow(Window * win) in initWindow() argument
38 (void)MI_CpuClear8(win, sizeof(Window)); in initWindow()
39 sWindowRoot = win; in initWindow()
47 if (w == win) in initWindow()
50 n = win->next; in initWindow()
51 (void)MI_CpuClear8(win, sizeof(Window)); in initWindow()
52 win->next = n; in initWindow()
57 (void)MI_CpuClear8(win, sizeof(Window)); in initWindow()
58 w->next = win; in initWindow()
61 void setupWindow(Window * win, in setupWindow() argument
64 win->x = x; in setupWindow()
65 win->y = y; in setupWindow()
66 win->lineheight = lineheight; in setupWindow()
67 win->leftmargin = leftmargin; in setupWindow()
68 win->rightmargin = rightmargin; in setupWindow()
69 win->selected = 0; in setupWindow()
70 win->count = 0; in setupWindow()
71 win->state = WIN_STATE_CLOSED; in setupWindow()
72 win->flag = flag; in setupWindow()
75 void addItemToWindow(Window * win, const char *item) in addItemToWindow() argument
78 SDK_MAX_ASSERT(win->itemnum, ITEM_NUM_MAX - 1); in addItemToWindow()
96 ++win->itemnum; in addItemToWindow()
97 setItemToWindow(win, item, win->itemnum - 1); in addItemToWindow()
98 win->height = (win->itemnum - 1) * win->lineheight + 8; in addItemToWindow()
101 void setItemToWindow(Window * win, const char *item, int index) in setItemToWindow() argument
103 SDK_MINMAX_ASSERT(win->itemnum, 0, ITEM_NUM_MAX - 1); in setItemToWindow()
104 if (index < win->itemnum) in setItemToWindow()
109 if (win->flag & WIN_FLAG_SELECTABLE) in setItemToWindow()
114 w = l * 8 + win->leftmargin + win->rightmargin; in setItemToWindow()
115 if (win->width < w) in setItemToWindow()
117 win->width = w; in setItemToWindow()
120 (void)strncpy(win->item[index], item, ITEM_LENGTH_MAX); in setItemToWindow()
121 win->item[index][ITEM_LENGTH_MAX - 1] = 0; in setItemToWindow()
125 addItemToWindow(win, item); in setItemToWindow()
129 void openWindow(Window * win) in openWindow() argument
131 if (win->state != WIN_STATE_CLOSED) in openWindow()
136 win->count = 0; in openWindow()
137 win->state = WIN_STATE_OPENING; in openWindow()
140 void closeWindow(Window * win) in closeWindow() argument
142 if (win->state != WIN_STATE_OPENED) in closeWindow()
147 win->count = win->height; in closeWindow()
148 win->state = WIN_STATE_CLOSING; in closeWindow()
151 void drawWindow(Window * win) in drawWindow() argument
154 if (win->state == WIN_STATE_CLOSED) in drawWindow()
159 if (win->itemnum == 0) in drawWindow()
164 y = win->y + (win->height / 2) - (win->count / 2); in drawWindow()
165 h = win->count; in drawWindow()
172 drawPseudo2DColorQuad(win->x - 7, y - 4, win->width + 4, h + 11, GX_RGB(0, 0, 20)); in drawWindow()
180 drawPseudo2DColorQuad(win->x - 8, y - 5, win->width + 6, h + 13, GX_RGB(20, 20, 31)); in drawWindow()
182 if (win->state == WIN_STATE_OPENED) in drawWindow()
185 for (i = 0; i < win->itemnum; ++i) in drawWindow()
188 (win->x + win->leftmargin) / 8, (win->y + win->lineheight * i) / 8); in drawWindow()
189 if (win->flag & WIN_FLAG_SELECTABLE) in drawWindow()
191 PR_PrintString(getInfoScreen(), "%c", (win->selected == i) ? '>' : ' '); in drawWindow()
192 PR_PutString(getInfoScreen(), win->item[i]); in drawWindow()
197 PR_PutString(getInfoScreen(), win->item[i]); in drawWindow()
203 int updateWindow(Window * win) in updateWindow() argument
205 switch (win->state) in updateWindow()
208 if (win->count >= win->height) in updateWindow()
210 win->state = WIN_STATE_OPENED; in updateWindow()
214 win->count += 6; in updateWindow()
219 win->count = win->height; in updateWindow()
221 if (!(win->flag & WIN_FLAG_NOCONTROL)) in updateWindow()
223 if (!(win->flag & WIN_FLAG_SELECTABLE)) in updateWindow()
227 closeWindow(win); in updateWindow()
236 closeWindow(win); in updateWindow()
240 win->selected = -1; in updateWindow()
241 closeWindow(win); in updateWindow()
245 --win->selected; in updateWindow()
246 if (win->selected < 0) in updateWindow()
248 win->selected += win->itemnum; in updateWindow()
253 ++win->selected; in updateWindow()
254 if (win->selected >= win->itemnum) in updateWindow()
256 win->selected -= win->itemnum; in updateWindow()
265 if (win->count <= 0) in updateWindow()
267 win->state = WIN_STATE_CLOSED; in updateWindow()
271 win->count -= 6; in updateWindow()
276 win->count = 0; in updateWindow()
280 if (win->count > win->height) in updateWindow()
282 win->count = win->height; in updateWindow()
284 if (win->count < 0) in updateWindow()
286 win->count = 0; in updateWindow()
289 return win->state; in updateWindow()