MCPcopy Create free account
hub / github.com/CloverHackyColor/CloverBootloader / CreateMenuProps

Function CreateMenuProps

rEFIt_UEFI/refit/menu.cpp:2235–2268  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2233}
2234
2235VOID CreateMenuProps(REFIT_MENU_SCREEN *SubScreen, DEV_PROPERTY *Prop)
2236{
2237 REFIT_INPUT_DIALOG *InputBootArgs;
2238
2239 InputBootArgs = new REFIT_INPUT_DIALOG;
2240 InputBootArgs->Title.SWPrintf(" key: %s", Prop->Key);
2241 InputBootArgs->Row = 0xFFFF; //cursor
2242 InputBootArgs->Item = &Prop->MenuItem;
2243 InputBootArgs->AtClick = ActionEnter;
2244 InputBootArgs->AtRightClick = ActionDetails;
2245 SubScreen->AddMenuEntry(InputBootArgs, true);
2246 switch (Prop->ValueType) {
2247 case kTagTypeInteger:
2248 SubScreen->AddMenuInfo_f(" value: 0x%08llx", *(UINT64*)Prop->Value);
2249 break;
2250 case kTagTypeString:
2251 SubScreen->AddMenuInfo_f(" value: %90s", Prop->Value);
2252 break;
2253 case kTagTypeFalse:
2254 SubScreen->AddMenuInfo_f((" value: false"));
2255 break;
2256 case kTagTypeTrue:
2257 SubScreen->AddMenuInfo_f((" value: true"));
2258 break;
2259 case kTagTypeFloat:
2260 SubScreen->AddMenuInfo_f(" value: %f", *(float*)Prop->Value);
2261 break;
2262 default: //type data, print first 24 bytes
2263 //CHAR8* Bytes2HexStr(UINT8 *data, UINTN len)
2264 SubScreen->AddMenuInfo_f(" value[%llu]: %24s", Prop->ValueLen, Bytes2HexStr((UINT8*)Prop->Value, MIN(24, Prop->ValueLen)).c_str());
2265 break;
2266 }
2267
2268}
2269
2270REFIT_ABSTRACT_MENU_ENTRY* SubMenuCustomDevices()
2271{

Callers 1

SubMenuCustomDevicesFunction · 0.85

Calls 5

Bytes2HexStrFunction · 0.85
SWPrintfMethod · 0.80
AddMenuEntryMethod · 0.80
AddMenuInfo_fMethod · 0.80
c_strMethod · 0.45

Tested by

no test coverage detected