Tachyon (current)  Current Main Branch
ui.c
Go to the documentation of this file.
1 /*
2  * ui.c - Contains functions for dealing with user interfaces
3  *
4  * (C) Copyright 1994-2022 John E. Stone
5  * SPDX-License-Identifier: BSD-3-Clause
6  *
7  * $Id: ui.c,v 1.11 2022/02/18 17:55:28 johns Exp $
8  *
9  */
10 
11 #include <stdio.h>
12 #include <stdlib.h>
13 #include <string.h>
14 #include <math.h>
15 
16 #define TACHYON_INTERNAL 1
17 #include "tachyon.h"
18 #include "macros.h"
19 #include "util.h"
20 #include "ui.h"
21 #include "global.h"
22 
23 void rt_set_ui_message(void (* func) (int, char *)) {
24  global_rt_ui_message = func;
25 }
26 
27 void rt_set_ui_progress(void (* func) (int)) {
28  global_rt_ui_progress = func;
29 }
30 
31 void rt_ui_message(int level, char * msg) {
32  if (global_rt_ui_message != NULL)
33  global_rt_ui_message(level, msg);
34 }
35 
36 void rt_ui_progress(int percent) {
37  if (global_rt_ui_progress != NULL)
38  global_rt_ui_progress(percent);
39 }
40 
41 int rt_ui_checkaction(void) {
42  if (global_rt_ui_checkaction != NULL)
43  return global_rt_ui_checkaction();
44  else
45  return 0;
46 }
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
void(* global_rt_ui_message)(int, char *)
Definition: global.c:21
void rt_set_ui_progress(void(*func)(int))
Set function pointer for user interface progress callbacks.
Definition: ui.c:27
void rt_ui_message(int level, char *msg)
Definition: ui.c:31
void rt_set_ui_message(void(*func)(int, char *))
Set function pointer for user interface output callbacks.
Definition: ui.c:23
void(* global_rt_ui_progress)(int)
Definition: global.c:22
Tachyon cross-platform timers, special math function wrappers, and RNGs.
int rt_ui_checkaction(void)
Definition: ui.c:41
void rt_ui_progress(int percent)
Definition: ui.c:36
Tachyon public API function prototypes and declarations used to drive the ray tracing engine...
int(* global_rt_ui_checkaction)(void)
Definition: global.c:23