Skip to content

Commit

Permalink
added simple Drag & drop test
Browse files Browse the repository at this point in the history
  • Loading branch information
urkle committed Oct 12, 2013
1 parent f6fa415 commit 7bc9815
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 1 deletion.
6 changes: 5 additions & 1 deletion test/Makefile.in
Expand Up @@ -4,7 +4,7 @@ srcdir = @srcdir@

CC = @CC@
EXE = @EXE@
CFLAGS = @CFLAGS@
CFLAGS = @CFLAGS@ -g
LIBS = @LIBS@

TARGETS = \
Expand All @@ -14,6 +14,7 @@ TARGETS = \
testautomation$(EXE) \
testdraw2$(EXE) \
testdrawchessboard$(EXE) \
testdropfile$(EXE) \
testerror$(EXE) \
testfile$(EXE) \
testgamecontroller$(EXE) \
Expand Down Expand Up @@ -108,6 +109,9 @@ testdraw2$(EXE): $(srcdir)/testdraw2.c
testdrawchessboard$(EXE): $(srcdir)/testdrawchessboard.c
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)

testdropfile$(EXE): $(srcdir)/testdropfile.c
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)

testerror$(EXE): $(srcdir)/testerror.c
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)

Expand Down
87 changes: 87 additions & 0 deletions test/testdropfile.c
@@ -0,0 +1,87 @@
/*
Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely.
*/

#include <stdlib.h>
#include <stdio.h>

#include "SDL_test_common.h"

static SDLTest_CommonState *state;

/* Call this instead of exit(), so we can clean up SDL: atexit() is evil. */
static void
quit(int rc)
{
SDLTest_CommonQuit(state);
exit(rc);
}

int
main(int argc, char *argv[])
{
int i, done;
SDL_Event event;

/* Enable standard application logging */
SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);

/* Initialize test framework */
state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO);
if (!state) {
return 1;
}

for (i = 1; i < argc;) {
int consumed;

consumed = SDLTest_CommonArg(state, i);
if (consumed == 0) {
consumed = -1;
}
if (consumed < 0) {
SDL_Log("Usage: %s %s\n", argv[0], SDLTest_CommonUsage(state));
quit(1);
}
i += consumed;
}
if (!SDLTest_CommonInit(state)) {
quit(2);
}

for (i = 0; i < state->num_windows; ++i) {
SDL_Renderer *renderer = state->renderers[i];
SDL_SetRenderDrawColor(renderer, 0xA0, 0xA0, 0xA0, 0xFF);
SDL_RenderClear(renderer);
SDL_RenderPresent(renderer);
}

/* Main render loop */
done = 0;
while (!done) {
/* Check for events */
while (SDL_PollEvent(&event)) {
SDLTest_CommonEvent(state, &event, &done);

if (event.type == SDL_DROPFILE) {
char *dropped_filedir = event.drop.file;
SDL_Log("File dropped on window: %s", dropped_filedir);
SDL_free(dropped_filedir);
}
}
}

quit(0);
/* keep the compiler happy ... */
return(0);
}

/* vi: set ts=4 sw=4 expandtab: */

0 comments on commit 7bc9815

Please sign in to comment.