fb91a0085c0d36034a4d5a832f9598ead59d4e76
Stefan Schuermans v1.0.0

Stefan Schuermans authored 13 years ago

1) #include <stdarg.h>
2) #include <stdio.h>
3) #include <unistd.h>
4) 
5) #include <flexipix/flexipix.h>
6) 
Stefan Schuermans v1.0.5

Stefan Schuermans authored 13 years ago

7) /* just an example for some data */
Stefan Schuermans v1.0.0

Stefan Schuermans authored 13 years ago

8) typedef struct userdata_s {
9)   int i;
10)   float f;
11)   char c;
12) } userdata_t;
13) 
14) /* callback function called during display creation,
15)    the p_ctx parameter is the userdata supplied in the call
16)    to flp_display_create() */
17) void msg(void *p_ctx, flp_msg_type_t type, const char *fmt, ...)
18) {
19)   userdata_t *p_userdata = (userdata_t *)p_ctx;
20)   va_list va;
21) 
22)   printf("msg (%d %f %c): ",
23)          p_userdata->i, p_userdata->f,
24)          p_userdata->c); /* make use of the userdata */
25) 
26)   /* type tells if the message is an error, a warning or an information */
27)   switch (type) {
28)     case flp_msg_type_err:
29)       printf("ERROR: ");
30)       break;
31)     case flp_msg_type_warn:
32)       printf("WARNING: ");
33)       break;
34)     case flp_msg_type_info:
35)       printf("INFORMATION: ");
36)       break;
37)   }
38) 
39)   /* fmt is a printf-style format string,
40)      the arguments are passed exactly as for printf */
41)   va_start(va, fmt);
42)   vprintf(fmt, va);
43)   va_end(va);
44) }
45) 
46) int main(int argc, char *argv[])
47) {
48)   const char *config;
Stefan Schuermans v1.0.5

Stefan Schuermans authored 13 years ago

49)   userdata_t userdata = { 42, 42.0, '!' }; /* just an example */