| 1111 | } |
| 1112 | |
| 1113 | static int BestMipForSize(int baseW, int baseH, int mipCount, int targetSize) |
| 1114 | { |
| 1115 | int best = 0; |
| 1116 | int bestDiff = std::max(baseW, baseH); |
| 1117 | for (int m = 0; m < mipCount; m++) |
| 1118 | { |
| 1119 | int mw = std::max(1, baseW >> m); |
| 1120 | int mh = std::max(1, baseH >> m); |
| 1121 | int diff = std::abs(std::max(mw, mh) - targetSize); |
| 1122 | if (diff < bestDiff) |
| 1123 | { |
| 1124 | bestDiff = diff; |
| 1125 | best = m; |
| 1126 | } |
| 1127 | } |
| 1128 | return best; |
| 1129 | } |
| 1130 | |
| 1131 | StudioApp::GridThumb& StudioApp::getOrLoadThumb(const FileEntry& entry) |
| 1132 | { |