SDL_drawpoint.h File Reference
`#include "../../SDL_internal.h"`
Include dependency graph for SDL_drawpoint.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Functions

int | SDL_DrawPoint (SDL_Surface *dst, int x, int y, Uint32 color)
int | SDL_DrawPoints (SDL_Surface *dst, const SDL_Point *points, int count, Uint32 color)

## Function Documentation

## SDL_DrawPoint()

int SDL_DrawPoint | ( | SDL_Surface * | dst,
|  | int | x,
|  | int | y,
|  | Uint32 | color
| ) |  |

Definition at line 30 of file SDL_drawpoint.c.

References SDL_PixelFormat::BitsPerPixel, SDL_PixelFormat::BytesPerPixel, SDL_Surface::clip_rect, DRAW_FASTSETPIXELXY1, DRAW_FASTSETPIXELXY2, DRAW_FASTSETPIXELXY4, SDL_Surface::format, SDL_Rect::h, SDL_SetError, SDL_Unsupported, SDL_Rect::w, SDL_Rect::x, and SDL_Rect::y.

Referenced by SDL_DrawLines().

{
if (!dst) {
return SDL_SetError("Passed NULL destination surface");
}
/* This function doesn't work on surfaces < 8 bpp */
if (dst->format->BitsPerPixel < 8) {
return SDL_SetError("SDL_DrawPoint(): Unsupported surface format");
}
/* Perform clipping */
if (x < dst->clip_rect.x || y < dst->clip_rect.y ||
x >= (dst->clip_rect.x + dst->clip_rect.w) ||
y >= (dst->clip_rect.y + dst->clip_rect.h)) {
return 0;
}
switch (dst->format->BytesPerPixel) {
case 1:
DRAW_FASTSETPIXELXY1(x, y);
break;
case 2:
DRAW_FASTSETPIXELXY2(x, y);
break;
case 3:
return SDL_Unsupported();
case 4:
DRAW_FASTSETPIXELXY4(x, y);
break;
}
return 0;
}
x
GLint GLint GLint GLint GLint x
Definition: SDL_opengl.h:1574
SDL_PixelFormat::BytesPerPixel
Uint8 BytesPerPixel
Definition: SDL_pixels.h:320
DRAW_FASTSETPIXELXY1
#define DRAW_FASTSETPIXELXY1(x, y)
Definition: SDL_draw.h:42
DRAW_FASTSETPIXELXY4
#define DRAW_FASTSETPIXELXY4(x, y)
Definition: SDL_draw.h:44
SDL_PixelFormat::BitsPerPixel
Uint8 BitsPerPixel
Definition: SDL_pixels.h:319
y
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
SDL_Rect::x
int x
Definition: SDL_rect.h:66
SDL_Rect::w
int w
Definition: SDL_rect.h:67
SDL_Surface::clip_rect
SDL_Rect clip_rect
Definition: SDL_surface.h:85
DRAW_FASTSETPIXELXY2
#define DRAW_FASTSETPIXELXY2(x, y)
Definition: SDL_draw.h:43
SDL_Surface::format
SDL_PixelFormat * format
Definition: SDL_surface.h:72
SDL_SetError
#define SDL_SetError
Definition: SDL_dynapi_overrides.h:30
SDL_Rect::h
int h
Definition: SDL_rect.h:67
SDL_Rect::y
int y
Definition: SDL_rect.h:66
SDL_Unsupported
#define SDL_Unsupported()
Definition: SDL_error.h:53

## SDL_DrawPoints()

int SDL_DrawPoints | ( | SDL_Surface * | dst,
|  | const SDL_Point * | points,
|  | int | count,
|  | Uint32 | color
| ) |  |

Definition at line 65 of file SDL_drawpoint.c.

References SDL_PixelFormat::BitsPerPixel, SDL_PixelFormat::BytesPerPixel, SDL_Surface::clip_rect, DRAW_FASTSETPIXELXY1, DRAW_FASTSETPIXELXY2, DRAW_FASTSETPIXELXY4, SDL_Surface::format, SDL_Rect::h, i, SDL_SetError, SDL_Unsupported, SDL_Rect::w, SDL_Point::x, SDL_Rect::x, SDL_Point::y, and SDL_Rect::y.

Referenced by SW_RenderDrawPoints().

{
int minx, miny;
int maxx, maxy;
int i;
int x, y;
if (!dst) {
return SDL_SetError("Passed NULL destination surface");
}
/* This function doesn't work on surfaces < 8 bpp */
if (dst->format->BitsPerPixel < 8) {
return SDL_SetError("SDL_DrawPoints(): Unsupported surface format");
}
minx = dst->clip_rect.x;
maxx = dst->clip_rect.x + dst->clip_rect.w - 1;
miny = dst->clip_rect.y;
maxy = dst->clip_rect.y + dst->clip_rect.h - 1;
for (i = 0; i < count; ++i) {
x = points[i].x;
y = points[i].y;
if (x < minx || x > maxx || y < miny || y > maxy) {
continue;
}
switch (dst->format->BytesPerPixel) {
case 1:
DRAW_FASTSETPIXELXY1(x, y);
break;
case 2:
DRAW_FASTSETPIXELXY2(x, y);
break;
case 3:
return SDL_Unsupported();
case 4:
DRAW_FASTSETPIXELXY4(x, y);
break;
}
}
return 0;
}
x
GLint GLint GLint GLint GLint x
Definition: SDL_opengl.h:1574
SDL_PixelFormat::BytesPerPixel
Uint8 BytesPerPixel
Definition: SDL_pixels.h:320
count
GLuint GLuint GLsizei count
Definition: SDL_opengl.h:1571
DRAW_FASTSETPIXELXY1
#define DRAW_FASTSETPIXELXY1(x, y)
Definition: SDL_draw.h:42
DRAW_FASTSETPIXELXY4
#define DRAW_FASTSETPIXELXY4(x, y)
Definition: SDL_draw.h:44
SDL_Point::x
int x
Definition: SDL_rect.h:50
SDL_Point::y
int y
Definition: SDL_rect.h:51
SDL_PixelFormat::BitsPerPixel
Uint8 BitsPerPixel
Definition: SDL_pixels.h:319
y
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
SDL_Rect::x
int x
Definition: SDL_rect.h:66
SDL_Rect::w
int w
Definition: SDL_rect.h:67
SDL_Surface::clip_rect
SDL_Rect clip_rect
Definition: SDL_surface.h:85
i
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
Definition: SDL_x11sym.h:50
DRAW_FASTSETPIXELXY2
#define DRAW_FASTSETPIXELXY2(x, y)
Definition: SDL_draw.h:43
SDL_Surface::format
SDL_PixelFormat * format
Definition: SDL_surface.h:72
SDL_SetError
#define SDL_SetError
Definition: SDL_dynapi_overrides.h:30
SDL_Rect::h
int h
Definition: SDL_rect.h:67
SDL_Rect::y
int y
Definition: SDL_rect.h:66
SDL_Unsupported
#define SDL_Unsupported()
Definition: SDL_error.h:53