// //////////////////////////////////////////////////////////////////////////// // display a keymap on the interface. static void displayKeyMap(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, WZ_DECL_UNUSED PIELIGHT *pColours) { UDWORD x = xOffset+psWidget->x; UDWORD y = yOffset+psWidget->y; UDWORD w = psWidget->width; UDWORD h = psWidget->height; KEY_MAPPING *psMapping = (KEY_MAPPING*)psWidget->pUserData; char sKey[MAX_STR_LENGTH]; if(psMapping == selectedKeyMap) { pie_BoxFill(x, y, x + w, y + h, WZCOL_KEYMAP_ACTIVE); } else if(psMapping->status == KEYMAP_ALWAYS || psMapping->status == KEYMAP_ALWAYS_PROCESS) { // when user can't edit something... pie_BoxFill(x, y , x + w, y + h, WZCOL_KEYMAP_FIXED); } else { drawBlueBox(x,y,w,h); } // draw name iV_SetFont(font_regular); // font type iV_SetTextColour(WZCOL_FORM_TEXT); iV_DrawText(_(psMapping->pName), x + 2, y + (psWidget->height / 2) + 3); // draw binding keyMapToString(sKey, psMapping); // Check to see if key is on the numpad, if so tell user and change color if (psMapping->subKeyCode >= KEY_KP_0 && psMapping->subKeyCode <= KEY_KPENTER) { iV_SetTextColour(WZCOL_YELLOW); sstrcat(sKey, " (numpad)"); } iV_DrawText(sKey, x + 364, y + (psWidget->height / 2) + 3); }
// //////////////////////////////////////////////////////////////////////////// // display a keymap on the interface. VOID displayKeyMap(struct _widget *psWidget, UDWORD xOffset, UDWORD yOffset, UDWORD *pColours) { UDWORD x = xOffset+psWidget->x; UDWORD y = yOffset+psWidget->y; UDWORD w = psWidget->width; UDWORD h = psWidget->height; KEY_MAPPING *psMapping = (KEY_MAPPING*)psWidget->pUserData; STRING sKey[MAX_NAME_SIZE];// was just 40 UNUSEDPARAMETER(pColours); if(psMapping == selectedKeyMap) { pie_BoxFillIndex(x,y,x+w,y+h,COL_GREEN); } else if(psMapping->status == KEYMAP_ALWAYS OR psMapping->status == KEYMAP_ALWAYS_PROCESS) { pie_BoxFillIndex(x,y,x+w,y+h,COL_RED); } else { drawBlueBox(x,y,w,h); } // draw name iV_SetFont(WFont); // font iV_SetTextColour(-1); //colour pie_DrawText((UCHAR*)psMapping->pName, x+2, y+(psWidget->height/2)+3); // draw binding keyMapToString(sKey,psMapping); pie_DrawText((UCHAR*)sKey, x+370, y+(psWidget->height/2)+3); return; }