|
Size: 1436
Comment: update content - 2/16 changeset 5318 (as of 5147)
|
Size: 2631
Comment: Added example.
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 30: | Line 30: |
| You can add your code example here | #include "SDL.h" int main(int argc, char* argv[]) { if (SDL_Init(SDL_INIT_VIDEO) == 0) { SDL_Window* window = NULL; SDL_Renderer* renderer = NULL; if (SDL_CreateWindowAndRenderer(640, 480, 0, &window, &renderer) == 0) { SDL_bool done = SDL_FALSE; while (!done) { SDL_Event event; SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE); SDL_RenderClear(renderer); SDL_SetRenderDrawColor(renderer, 255, 255, 255, SDL_ALPHA_OPAQUE); SDL_RenderDrawLine(renderer, 320, 200, 300, 240); SDL_RenderDrawLine(renderer, 300, 240, 340, 240); SDL_RenderDrawLine(renderer, 340, 240, 320, 200); SDL_RenderPresent(renderer); while (SDL_PollEvent(&event)) { if (event.type == SDL_QUIT) { done = SDL_TRUE; } } } } if (renderer) { SDL_DestroyRenderer(renderer); } if (window) { SDL_DestroyWindow(window); } } SDL_Quit(); return 0; } |
SDL_RenderDrawLine
Use this function to draw a line on the current rendering target.
Contents
Syntax
int SDL_RenderDrawLine(SDL_Renderer* renderer,
int x1,
int y1,
int x2,
int y2)
Function Parameters
renderer |
the rendering context |
x1 |
the x coordinate of the start point |
y1 |
the y coordinate of the start point |
x2 |
the x coordinate of the end point |
y2 |
the y coordinate of the end point |
Return Value
Returns 0 on success or a negative error code on failure; call SDL_GetError() for more information.
Code Examples
#include "SDL.h"
int main(int argc, char* argv[])
{
if (SDL_Init(SDL_INIT_VIDEO) == 0) {
SDL_Window* window = NULL;
SDL_Renderer* renderer = NULL;
if (SDL_CreateWindowAndRenderer(640, 480, 0, &window, &renderer) == 0) {
SDL_bool done = SDL_FALSE;
while (!done) {
SDL_Event event;
SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE);
SDL_RenderClear(renderer);
SDL_SetRenderDrawColor(renderer, 255, 255, 255, SDL_ALPHA_OPAQUE);
SDL_RenderDrawLine(renderer, 320, 200, 300, 240);
SDL_RenderDrawLine(renderer, 300, 240, 340, 240);
SDL_RenderDrawLine(renderer, 340, 240, 320, 200);
SDL_RenderPresent(renderer);
while (SDL_PollEvent(&event)) {
if (event.type == SDL_QUIT) {
done = SDL_TRUE;
}
}
}
}
if (renderer) {
SDL_DestroyRenderer(renderer);
}
if (window) {
SDL_DestroyWindow(window);
}
}
SDL_Quit();
return 0;
}
Remarks
SDL_RenderDrawLine() draws the line to include both end points. If you want to draw multiple, connecting lines use SDL_RenderDrawLines() instead.
