| 55 | } |
| 56 | |
| 57 | U32 XrrConfigCurrentConfiguration(KThread* thread, const DisplayDataPtr& displayData, U32 rotationAddress) { |
| 58 | KMemory* memory = thread->memory; |
| 59 | XrrData* data = displayData->xrrData; |
| 60 | |
| 61 | if (!data || !data->sizesAddress) { |
| 62 | XrrGetSizes(thread, displayData, 0, 0); |
| 63 | data = displayData->xrrData; |
| 64 | } |
| 65 | KNativeScreenPtr screen = KNativeSystem::getScreen(); |
| 66 | U32 cx = screen->screenWidth(); |
| 67 | U32 cy = screen->screenHeight(); |
| 68 | |
| 69 | memory->writed(rotationAddress, 0); |
| 70 | for (U32 i = 0; i < data->sizesCount; i++) { |
| 71 | if (memory->readd(data->sizesAddress + i * 16) == cx && memory->readd(data->sizesAddress + i * 16 + 4) == cy) { |
| 72 | return i; |
| 73 | } |
| 74 | } |
| 75 | return 0; |
| 76 | } |
| 77 | |
| 78 | U32 XrrGetSizes(KThread* thread, const DisplayDataPtr& data, U32 screen, U32 countAddress) { |
| 79 | KMemory* memory = thread->memory; |
no test coverage detected