SDL
2.0
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
testdropfile.c
Go to the documentation of this file.
1
/*
2
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
3
4
This software is provided 'as-is', without any express or implied
5
warranty. In no event will the authors be held liable for any damages
6
arising from the use of this software.
7
8
Permission is granted to anyone to use this software for any purpose,
9
including commercial applications, and to alter it and redistribute it
10
freely.
11
*/
12
13
#include <stdlib.h>
14
#include <stdio.h>
15
16
#include "
SDL_test_common.h
"
17
18
static
SDLTest_CommonState
*
state
;
19
20
/* Call this instead of exit(), so we can clean up SDL: atexit() is evil. */
21
static
void
22
quit
(
int
rc)
23
{
24
SDLTest_CommonQuit
(state);
25
exit(rc);
26
}
27
28
int
29
main
(
int
argc,
char
*argv[])
30
{
31
int
i
,
done
;
32
SDL_Event
event
;
33
34
/* Enable standard application logging */
35
SDL_LogSetPriority
(
SDL_LOG_CATEGORY_APPLICATION
,
SDL_LOG_PRIORITY_INFO
);
36
37
/* Initialize test framework */
38
state =
SDLTest_CommonCreateState
(argv,
SDL_INIT_VIDEO
);
39
if
(!state) {
40
return
1;
41
}
42
43
for
(i = 1; i < argc;) {
44
int
consumed;
45
46
consumed =
SDLTest_CommonArg
(state, i);
47
/* needed voodoo to allow app to launch via OS X Finder */
48
if
(
SDL_strncmp
(argv[i],
"-psn"
, 4)==0) {
49
consumed = 1;
50
}
51
if
(consumed == 0) {
52
consumed = -1;
53
}
54
if
(consumed < 0) {
55
SDL_Log
(
"Usage: %s %s\n"
, argv[0],
SDLTest_CommonUsage
(state));
56
quit
(1);
57
}
58
i += consumed;
59
}
60
if
(!
SDLTest_CommonInit
(state)) {
61
quit
(2);
62
}
63
64
for
(i = 0; i < state->
num_windows
; ++
i
) {
65
SDL_Renderer
*
renderer
= state->
renderers
[
i
];
66
SDL_SetRenderDrawColor
(renderer, 0xA0, 0xA0, 0xA0, 0xFF);
67
SDL_RenderClear
(renderer);
68
SDL_RenderPresent
(renderer);
69
}
70
71
SDL_EventState
(
SDL_DROPFILE
,
SDL_ENABLE
);
72
73
/* Main render loop */
74
done = 0;
75
while
(!done) {
76
/* Check for events */
77
while
(
SDL_PollEvent
(&event)) {
78
SDLTest_CommonEvent
(state, &event, &done);
79
80
if
(event.
type
==
SDL_DROPBEGIN
) {
81
SDL_Log
(
"Drop beginning on window %u"
, (
unsigned
int
) event.
drop
.
windowID
);
82
}
else
if
(event.
type
==
SDL_DROPCOMPLETE
) {
83
SDL_Log
(
"Drop complete on window %u"
, (
unsigned
int
) event.
drop
.
windowID
);
84
}
else
if
((event.
type
==
SDL_DROPFILE
) || (event.
type
==
SDL_DROPTEXT
)) {
85
const
char
*typestr = (
event
.type ==
SDL_DROPFILE
) ?
"File"
:
"Text"
;
86
char
*dropped_filedir =
event
.drop.file;
87
SDL_Log
(
"%s dropped on window %u: %s"
, typestr, (
unsigned
int
) event.
drop
.
windowID
, dropped_filedir);
88
SDL_free
(dropped_filedir);
89
}
90
}
91
}
92
93
quit
(0);
94
/* keep the compiler happy ... */
95
return
(0);
96
}
97
98
/* vi: set ts=4 sw=4 expandtab: */
test
testdropfile.c
Generated on Sun Jun 26 2022 23:07:20 for SDL by
1.8.1.2