summaryrefslogtreecommitdiff
path: root/src/app.h
blob: f4a2e18de496b0f8c1de25315476b55dfe88cbe5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#pragma once

/* Application core: event loop, base event processing, audio synth. */

#include <the_Foundation/string.h>

iDeclareType(Window)

enum iUserEventCode {
    command_UserEventCode = 1,
    refresh_UserEventCode  = 2,
};

const iString *execPath_App     (void);

int         run_App             (int argc, char **argv);
void        processEvents_App   (void);
void        refresh_App         (void);

iAny *      findWidget_App      (const char *id);
void        addTicker_App       (void (*ticker)(iAny *), iAny *context);

void        postRefresh_App     (void);
void        postCommand_App     (const char *command);
void        postCommandf_App    (const char *command, ...);

iLocalDef void postCommandString_App(const iString *command) {
    postCommand_App(cstr_String(command));
}

iBool       handleCommand_App   (const char *cmd);