| 2308 | } |
| 2309 | |
| 2310 | int |
| 2311 | SDL_RenderDrawPoints(SDL_Renderer * renderer, |
| 2312 | const SDL_Point * points, int count) |
| 2313 | { |
| 2314 | SDL_FPoint *fpoints; |
| 2315 | int i; |
| 2316 | int retval; |
| 2317 | SDL_bool isstack; |
| 2318 | |
| 2319 | CHECK_RENDERER_MAGIC(renderer, -1); |
| 2320 | |
| 2321 | if (!points) { |
| 2322 | return SDL_SetError("SDL_RenderDrawPoints(): Passed NULL points"); |
| 2323 | } |
| 2324 | if (count < 1) { |
| 2325 | return 0; |
| 2326 | } |
| 2327 | |
| 2328 | /* Don't draw while we're hidden */ |
| 2329 | if (renderer->hidden) { |
| 2330 | return 0; |
| 2331 | } |
| 2332 | |
| 2333 | if (renderer->scale.x != 1.0f || renderer->scale.y != 1.0f) { |
| 2334 | return RenderDrawPointsWithRects(renderer, points, count); |
| 2335 | } |
| 2336 | |
| 2337 | fpoints = SDL_small_alloc(SDL_FPoint, count, &isstack); |
| 2338 | if (!fpoints) { |
| 2339 | return SDL_OutOfMemory(); |
| 2340 | } |
| 2341 | for (i = 0; i < count; ++i) { |
| 2342 | fpoints[i].x = points[i].x * renderer->scale.x; |
| 2343 | fpoints[i].y = points[i].y * renderer->scale.y; |
| 2344 | } |
| 2345 | |
| 2346 | retval = QueueCmdDrawPoints(renderer, fpoints, count); |
| 2347 | |
| 2348 | SDL_small_free(fpoints, isstack); |
| 2349 | |
| 2350 | return retval < 0 ? retval : FlushRenderCommandsIfNotBatching(renderer); |
| 2351 | } |
| 2352 | |
| 2353 | static int |
| 2354 | RenderDrawPointsWithRectsF(SDL_Renderer * renderer, |
nothing calls this directly
no test coverage detected