summaryrefslogtreecommitdiff
path: root/jim-sdl.c
diff options
context:
space:
mode:
Diffstat (limited to 'jim-sdl.c')
-rw-r--r--jim-sdl.c119
1 files changed, 58 insertions, 61 deletions
diff --git a/jim-sdl.c b/jim-sdl.c
index 16d88e5..9a902f9 100644
--- a/jim-sdl.c
+++ b/jim-sdl.c
@@ -1,3 +1,4 @@
+
/* Jim - SDL extension
* Copyright 2005 Salvatore Sanfilippo <antirez@invece.org>
*
@@ -29,7 +30,8 @@
#define AIO_CMD_LEN 128
-typedef struct JimSdlSurface {
+typedef struct JimSdlSurface
+{
SDL_Surface *screen;
} JimSdlSurface;
@@ -41,6 +43,7 @@ static void JimSdlSetError(Jim_Interp *interp)
static void JimSdlDelProc(Jim_Interp *interp, void *privData)
{
JimSdlSurface *jss = privData;
+
JIM_NOTUSED(interp);
SDL_FreeSurface(jss->screen);
@@ -49,8 +52,7 @@ static void JimSdlDelProc(Jim_Interp *interp, void *privData)
/* Calls to commands created via [sdl.surface] are implemented by this
* C command. */
-static int JimSdlHandlerCommand(Jim_Interp *interp, int argc,
- Jim_Obj *const *argv)
+static int JimSdlHandlerCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
{
JimSdlSurface *jss = Jim_CmdPrivData(interp);
int option;
@@ -58,18 +60,19 @@ static int JimSdlHandlerCommand(Jim_Interp *interp, int argc,
"free", "flip", "pixel", "rectangle", "box", "line", "aaline",
"circle", "aacircle", "fcircle", NULL
};
- enum {OPT_FREE, OPT_FLIP, OPT_PIXEL, OPT_RECTANGLE, OPT_BOX, OPT_LINE,
- OPT_AALINE, OPT_CIRCLE, OPT_AACIRCLE, OPT_FCIRCLE};
+ enum
+ { OPT_FREE, OPT_FLIP, OPT_PIXEL, OPT_RECTANGLE, OPT_BOX, OPT_LINE,
+ OPT_AALINE, OPT_CIRCLE, OPT_AACIRCLE, OPT_FCIRCLE
+ };
if (argc < 2) {
Jim_WrongNumArgs(interp, 1, argv, "method ?args ...?");
return JIM_ERR;
}
- if (Jim_GetEnum(interp, argv[1], options, &option, "SDL surface method",
- JIM_ERRMSG) != JIM_OK)
+ if (Jim_GetEnum(interp, argv[1], options, &option, "SDL surface method", JIM_ERRMSG) != JIM_OK)
return JIM_ERR;
if (option == OPT_PIXEL) {
- /* PIXEL */
+ /* PIXEL */
long x, y, red, green, blue, alpha = 255;
if (argc != 7 && argc != 8) {
@@ -80,18 +83,17 @@ static int JimSdlHandlerCommand(Jim_Interp *interp, int argc,
Jim_GetLong(interp, argv[3], &y) != JIM_OK ||
Jim_GetLong(interp, argv[4], &red) != JIM_OK ||
Jim_GetLong(interp, argv[5], &green) != JIM_OK ||
- Jim_GetLong(interp, argv[6], &blue) != JIM_OK)
- {
+ Jim_GetLong(interp, argv[6], &blue) != JIM_OK) {
return JIM_ERR;
}
if (argc == 8 && Jim_GetLong(interp, argv[7], &alpha) != JIM_OK)
return JIM_ERR;
pixelRGBA(jss->screen, x, y, red, green, blue, alpha);
return JIM_OK;
- } else if (option == OPT_RECTANGLE || option == OPT_BOX ||
- option == OPT_LINE || option == OPT_AALINE)
- {
- /* RECTANGLE, BOX, LINE, AALINE */
+ }
+ else if (option == OPT_RECTANGLE || option == OPT_BOX ||
+ option == OPT_LINE || option == OPT_AALINE) {
+ /* RECTANGLE, BOX, LINE, AALINE */
long x1, y1, x2, y2, red, green, blue, alpha = 255;
if (argc != 9 && argc != 10) {
@@ -104,36 +106,33 @@ static int JimSdlHandlerCommand(Jim_Interp *interp, int argc,
Jim_GetLong(interp, argv[5], &y2) != JIM_OK ||
Jim_GetLong(interp, argv[6], &red) != JIM_OK ||
Jim_GetLong(interp, argv[7], &green) != JIM_OK ||
- Jim_GetLong(interp, argv[8], &blue) != JIM_OK)
- {
+ Jim_GetLong(interp, argv[8], &blue) != JIM_OK) {
return JIM_ERR;
}
if (argc == 10 && Jim_GetLong(interp, argv[9], &alpha) != JIM_OK)
return JIM_ERR;
- switch(option) {
- case OPT_RECTANGLE:
- rectangleRGBA(jss->screen, x1, y1, x2, y2, red, green, blue, alpha);
- break;
- case OPT_BOX:
- boxRGBA(jss->screen, x1, y1, x2, y2, red, green, blue, alpha);
- break;
- case OPT_LINE:
- lineRGBA(jss->screen, x1, y1, x2, y2, red, green, blue, alpha);
- break;
- case OPT_AALINE:
- aalineRGBA(jss->screen, x1, y1, x2, y2, red, green, blue, alpha);
- break;
+ switch (option) {
+ case OPT_RECTANGLE:
+ rectangleRGBA(jss->screen, x1, y1, x2, y2, red, green, blue, alpha);
+ break;
+ case OPT_BOX:
+ boxRGBA(jss->screen, x1, y1, x2, y2, red, green, blue, alpha);
+ break;
+ case OPT_LINE:
+ lineRGBA(jss->screen, x1, y1, x2, y2, red, green, blue, alpha);
+ break;
+ case OPT_AALINE:
+ aalineRGBA(jss->screen, x1, y1, x2, y2, red, green, blue, alpha);
+ break;
}
return JIM_OK;
- } else if (option == OPT_CIRCLE || option == OPT_AACIRCLE ||
- option == OPT_FCIRCLE)
- {
- /* CIRCLE, AACIRCLE, FCIRCLE */
+ }
+ else if (option == OPT_CIRCLE || option == OPT_AACIRCLE || option == OPT_FCIRCLE) {
+ /* CIRCLE, AACIRCLE, FCIRCLE */
long x, y, radius, red, green, blue, alpha = 255;
if (argc != 8 && argc != 9) {
- Jim_WrongNumArgs(interp, 2, argv,
- "x y radius red green blue ?alpha?");
+ Jim_WrongNumArgs(interp, 2, argv, "x y radius red green blue ?alpha?");
return JIM_ERR;
}
if (Jim_GetLong(interp, argv[2], &x) != JIM_OK ||
@@ -141,35 +140,35 @@ static int JimSdlHandlerCommand(Jim_Interp *interp, int argc,
Jim_GetLong(interp, argv[4], &radius) != JIM_OK ||
Jim_GetLong(interp, argv[5], &red) != JIM_OK ||
Jim_GetLong(interp, argv[6], &green) != JIM_OK ||
- Jim_GetLong(interp, argv[7], &blue) != JIM_OK)
- {
+ Jim_GetLong(interp, argv[7], &blue) != JIM_OK) {
return JIM_ERR;
}
if (argc == 9 && Jim_GetLong(interp, argv[8], &alpha) != JIM_OK)
return JIM_ERR;
- switch(option) {
- case OPT_CIRCLE:
- circleRGBA(jss->screen, x, y, radius, red, green, blue, alpha);
- break;
- case OPT_AACIRCLE:
- aacircleRGBA(jss->screen, x, y, radius, red, green, blue, alpha);
- break;
- case OPT_FCIRCLE:
- filledCircleRGBA(jss->screen, x, y, radius, red, green, blue,
- alpha);
- break;
+ switch (option) {
+ case OPT_CIRCLE:
+ circleRGBA(jss->screen, x, y, radius, red, green, blue, alpha);
+ break;
+ case OPT_AACIRCLE:
+ aacircleRGBA(jss->screen, x, y, radius, red, green, blue, alpha);
+ break;
+ case OPT_FCIRCLE:
+ filledCircleRGBA(jss->screen, x, y, radius, red, green, blue, alpha);
+ break;
}
return JIM_OK;
- } else if (option == OPT_FREE) {
- /* FREE */
+ }
+ else if (option == OPT_FREE) {
+ /* FREE */
if (argc != 2) {
Jim_WrongNumArgs(interp, 2, argv, "");
return JIM_ERR;
}
Jim_DeleteCommand(interp, Jim_GetString(argv[0], NULL));
return JIM_OK;
- } else if (option == OPT_FLIP) {
- /* FLIP */
+ }
+ else if (option == OPT_FLIP) {
+ /* FLIP */
if (argc != 2) {
Jim_WrongNumArgs(interp, 2, argv, "");
return JIM_ERR;
@@ -180,8 +179,7 @@ static int JimSdlHandlerCommand(Jim_Interp *interp, int argc,
return JIM_OK;
}
-static int JimSdlSurfaceCommand(Jim_Interp *interp, int argc,
- Jim_Obj *const *argv)
+static int JimSdlSurfaceCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
{
JimSdlSurface *jss;
char buf[AIO_CMD_LEN];
@@ -198,18 +196,19 @@ static int JimSdlSurfaceCommand(Jim_Interp *interp, int argc,
return JIM_ERR;
/* Try to create the surface */
- screen = SDL_SetVideoMode(xres, yres, 32, SDL_SWSURFACE|SDL_ANYFORMAT);
+ screen = SDL_SetVideoMode(xres, yres, 32, SDL_SWSURFACE | SDL_ANYFORMAT);
if (screen == NULL) {
JimSdlSetError(interp);
return JIM_ERR;
}
/* Get the next file id */
- if (Jim_EvalGlobal(interp,
- "if {[catch {incr sdl.surfaceId}]} {set sdl.surfaceId 0}") != JIM_OK)
+ if (Jim_EvalGlobal(interp, "if {[catch {incr sdl.surfaceId}]} {set sdl.surfaceId 0}") != JIM_OK)
return JIM_ERR;
objPtr = Jim_GetVariableStr(interp, "sdl.surfaceId", JIM_ERRMSG);
- if (objPtr == NULL) return JIM_ERR;
- if (Jim_GetLong(interp, objPtr, &screenId) != JIM_OK) return JIM_ERR;
+ if (objPtr == NULL)
+ return JIM_ERR;
+ if (Jim_GetLong(interp, objPtr, &screenId) != JIM_OK)
+ return JIM_ERR;
/* Create the SDL screen command */
jss = Jim_Alloc(sizeof(*jss));
@@ -222,8 +221,6 @@ static int JimSdlSurfaceCommand(Jim_Interp *interp, int argc,
int Jim_sdlInit(Jim_Interp *interp)
{
- if (Jim_PackageProvide(interp, "sdl", "1.0", JIM_ERRMSG) != JIM_OK)
- return JIM_ERR;
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
JimSdlSetError(interp);
return JIM_ERR;