- float i, border;
- vector panelPos;
- vector panelSize;
-
- for(i = 0; i < HUD_PANEL_NUM; ++i)
- {
- panelPos = HUD_Panel_GetPos(i);
- panelSize = HUD_Panel_GetSize(i);
- border = HUD_Panel_GetBorder(i);
- if(prevMouseClicked == 0) {
- // move
- if(mousepos_x >= panelPos_x && mousepos_y >= panelPos_y && mousepos_x <= panelPos_x + panelSize_x && mousepos_y <= panelPos_y + panelSize_y)
- {
- highlightedPanel = i;
- highlightedAction = 1;
- }
- // resize from topleft border
- else if(mousepos_x >= panelPos_x - border && mousepos_y >= panelPos_y - border && mousepos_x <= panelPos_x + 0.5 * panelSize_x && mousepos_y <= panelPos_y + 0.5 * panelSize_y)
- {
- highlightedPanel = i;
- highlightedAction = 2;
- resizeCorner = 1;
- }
- // resize from topright border
- else if(mousepos_x >= panelPos_x + 0.5 * panelSize_x && mousepos_y >= panelPos_y - border && mousepos_x <= panelPos_x + panelSize_x + border && mousepos_y <= panelPos_y + 0.5 * panelSize_y)
- {
- highlightedPanel = i;
- highlightedAction = 2;
- resizeCorner = 2;
- }
- // resize from bottomleft border
- else if(mousepos_x >= panelPos_x - border && mousepos_y >= panelPos_y + 0.5 * panelSize_y && mousepos_x <= panelPos_x + 0.5 * panelSize_x && mousepos_y <= panelPos_y + panelSize_y + border)
- {
- highlightedPanel = i;
- highlightedAction = 2;
- resizeCorner = 3;
- }
- // resize from bottomright border
- else if(mousepos_x >= panelPos_x + 0.5 * panelSize_x && mousepos_y >= panelPos_y + 0.5 * panelSize_y && mousepos_x <= panelPos_x + panelSize_x + border && mousepos_y <= panelPos_y + panelSize_y + border)
- {
- highlightedPanel = i;
- highlightedAction = 2;
- resizeCorner = 4;
- }
- }
-
- if(highlightedPanel == i)
- {
- if(prevMouseClicked == 0)
- {
- if(highlightedAction == 1)
- panel_click_distance = mousepos - panelPos;
- else if(highlightedAction == 2)
- {
- if(resizeCorner == 1) {
- panel_click_distance = mousepos - panelPos;
- panel_click_resizeorigin = panelPos + panelSize;
- } else if(resizeCorner == 2) {
- panel_click_distance_x = panelSize_x - mousepos_x + panelPos_x;
- panel_click_distance_y = mousepos_y - panelPos_y;
- panel_click_resizeorigin = panelPos + eY * panelSize_y;
- } else if(resizeCorner == 3) {
- panel_click_distance_x = mousepos_x - panelPos_x;
- panel_click_distance_y = panelSize_y - mousepos_y + panelPos_y;
- panel_click_resizeorigin = panelPos + eX * panelSize_x;
- } else if(resizeCorner == 4) {
- panel_click_distance = panelSize - mousepos + panelPos;
- panel_click_resizeorigin = panelPos;
- }
- }
- }
-
- hud_configure_checkcollisions = (!(hudShiftState & S_CTRL) && cvar("hud_configure_checkcollisions"));