src/context.c

changeset 86
943bf9d7c6d6
parent 81
84a546e282b7
child 88
6234b7ea48f3
equal deleted inserted replaced
85:f51eec4e7ccb 86:943bf9d7c6d6
49 void asc_context_initialize(void) { 49 void asc_context_initialize(void) {
50 if (asc_test_flag(asc_context.flags, ASC_FLAG_INITILIZED)) 50 if (asc_test_flag(asc_context.flags, ASC_FLAG_INITILIZED))
51 return; 51 return;
52 memset(&asc_context, 0, sizeof(AscContext)); 52 memset(&asc_context, 0, sizeof(AscContext));
53 53
54 // initialize default paths
55 asc_context.font_path = cx_strdup(CX_STR("./fonts"));
56 asc_context.shader_path = cx_strdup(CX_STR("./shader"));
57 asc_context.texture_path = cx_strdup(CX_STR("./textures"));
58
54 // initialize the font cache 59 // initialize the font cache
55 asc_font_cache_init(); 60 asc_font_cache_init();
56 61
57 // set a default font but do not load it 62 // set a default font but do not load it
58 asc_context.active_font.style = ASC_FONT_REGULAR; 63 asc_context.active_font.style = ASC_FONT_REGULAR;
100 105
101 // destroy the error buffer 106 // destroy the error buffer
102 cxBufferDestroy(&asc_context.error_buffer); 107 cxBufferDestroy(&asc_context.error_buffer);
103 asc_context.flags = 0; 108 asc_context.flags = 0;
104 asc_dprintf("Ascension context destroyed."); 109 asc_dprintf("Ascension context destroyed.");
110
111 // destroy the path information
112 cx_strfree(&asc_context.font_path);
113 cx_strfree(&asc_context.shader_path);
114 cx_strfree(&asc_context.texture_path);
105 } 115 }
106 116
107 void asc_context_quit(void) { 117 void asc_context_quit(void) {
108 asc_set_flag(asc_context.flags, ASC_FLAG_QUIT); 118 asc_set_flag(asc_context.flags, ASC_FLAG_QUIT);
109 } 119 }
189 asc_context.frame_nanos = frame_nanos; 199 asc_context.frame_nanos = frame_nanos;
190 asc_context.total_nanos = ns; 200 asc_context.total_nanos = ns;
191 201
192 return !asc_test_flag(asc_context.flags, ASC_FLAG_QUIT); 202 return !asc_test_flag(asc_context.flags, ASC_FLAG_QUIT);
193 } 203 }
204
205 void asc_set_font_path(const char *path) {
206 cx_strcpy(&asc_context.font_path, cx_str(path));
207 }
208
209 void asc_set_shader_path(const char *path) {
210 cx_strcpy(&asc_context.shader_path, cx_str(path));
211 }
212
213 void asc_set_texture_path(const char *path) {
214 cx_strcpy(&asc_context.texture_path, cx_str(path));
215 }

mercurial