| 2553 | } |
| 2554 | |
| 2555 | int |
| 2556 | SDL_RenderDrawLines(SDL_Renderer * renderer, |
| 2557 | const SDL_Point * points, int count) |
| 2558 | { |
| 2559 | SDL_FPoint *fpoints; |
| 2560 | int i; |
| 2561 | int retval; |
| 2562 | SDL_bool isstack; |
| 2563 | |
| 2564 | CHECK_RENDERER_MAGIC(renderer, -1); |
| 2565 | |
| 2566 | if (!points) { |
| 2567 | return SDL_SetError("SDL_RenderDrawLines(): Passed NULL points"); |
| 2568 | } |
| 2569 | if (count < 2) { |
| 2570 | return 0; |
| 2571 | } |
| 2572 | |
| 2573 | /* Don't draw while we're hidden */ |
| 2574 | if (renderer->hidden) { |
| 2575 | return 0; |
| 2576 | } |
| 2577 | |
| 2578 | if (renderer->scale.x != 1.0f || renderer->scale.y != 1.0f) { |
| 2579 | return RenderDrawLinesWithRects(renderer, points, count); |
| 2580 | } |
| 2581 | |
| 2582 | fpoints = SDL_small_alloc(SDL_FPoint, count, &isstack); |
| 2583 | if (!fpoints) { |
| 2584 | return SDL_OutOfMemory(); |
| 2585 | } |
| 2586 | for (i = 0; i < count; ++i) { |
| 2587 | fpoints[i].x = points[i].x * renderer->scale.x; |
| 2588 | fpoints[i].y = points[i].y * renderer->scale.y; |
| 2589 | } |
| 2590 | |
| 2591 | retval = QueueCmdDrawLines(renderer, fpoints, count); |
| 2592 | |
| 2593 | SDL_small_free(fpoints, isstack); |
| 2594 | |
| 2595 | return retval < 0 ? retval : FlushRenderCommandsIfNotBatching(renderer); |
| 2596 | } |
| 2597 | |
| 2598 | int |
| 2599 | SDL_RenderDrawLinesF(SDL_Renderer * renderer, |
nothing calls this directly
no test coverage detected