/** * Initialize the templ theme * @param hue [0..360] hue value from HSV color space to define the theme's base color * @param font pointer to a font (NULL to use the default) * @return pointer to the initialized theme */ lv_theme_t * lv_theme_templ_init(uint16_t hue, lv_font_t *font) { if(font == NULL) font = LV_FONT_DEFAULT; _hue = hue; _font = font; /*For backward compatibility initialize all theme elements with a default style */ uint16_t i; lv_style_t **style_p = (lv_style_t**) &theme; for(i = 0; i < sizeof(lv_theme_t) / sizeof(lv_style_t*); i++) { *style_p = &def; style_p++; } basic_init(); cont_init(); btn_init(); label_init(); img_init(); line_init(); led_init(); bar_init(); slider_init(); sw_init(); lmeter_init(); gauge_init(); chart_init(); cb_init(); btnm_init(); kb_init(); mbox_init(); page_init(); ta_init(); list_init(); ddlist_init(); roller_init(); tabview_init(); win_init(); return &theme; }
static bool zendan(struct program_config *c) { //script test run { static const wgChar *functionname[] = { wgT("cpu_erase"), wgT("ppu_erase"), wgT("erase_wait"), wgT("program_main") }; HSQUIRRELVM v = qr_open(&c->log); int i; for(i = 0; i < sizeof(functionname)/sizeof(wgChar *); i++){ qr_function_register_global(v, functionname[i], script_nop); } qr_function_register_global(v, _SC("cpu_write"), cpu_write_check); qr_function_register_global(v, _SC("cpu_command"), cpu_command); qr_function_register_global(v, _SC("cpu_program"), cpu_program_count); qr_function_register_global(v, _SC("ppu_program"), ppu_program_count); qr_function_register_global(v, _SC("ppu_command"), ppu_command); qr_function_register_global(v, _SC("vram_mirrorfind"), vram_mirrorfind); if(script_execute(v, wgT("testrun"), c) == false){ qr_close(v); return false; } qr_close(v); assert(c->cpu.memory.size != 0); if(c->cpu.programming.count % c->cpu.memory.size != 0){ c->log.append(c->log.object, wgT("logical error: cpu_programsize is not connected 0x%06x/0x%06x\n"), (int) c->cpu.programming.count, (int) c->cpu.memory.size); return false; } if(c->ppu.memory.size != 0){ if(c->ppu.programming.count % c->ppu.memory.size != 0){ c->log.append(c->log.object, wgT("logical error: ppu_programsize is not connected 0x%06x/0x%06x\n"), (int) c->ppu.programming.count, (int) c->ppu.memory.size); return false; } } } //script execute //SQBool ret; c->cpu.command_change = true; gauge_init(&c->cpu); c->ppu.command_change = true; gauge_init(&c->ppu); { HSQUIRRELVM v = qr_open(&c->log); qr_function_register_global(v, _SC("cpu_write"), cpu_write); qr_function_register_global(v, _SC("cpu_erase"), cpu_erase); qr_function_register_global(v, _SC("cpu_program"), cpu_program_memory); qr_function_register_global(v, _SC("cpu_command"), cpu_command); qr_function_register_global(v, _SC("ppu_erase"), ppu_erase); qr_function_register_global(v, _SC("ppu_program"), ppu_program_memory); qr_function_register_global(v, _SC("ppu_command"), ppu_command); qr_function_register_global(v, _SC("program_main"), program_main); qr_function_register_global(v, _SC("erase_wait"), erase_wait); qr_function_register_global(v, _SC("vram_mirrorfind"), script_nop); script_execute(v, wgT("program"), c); //assert(sq_gettype(v, -2) == OT_BOOL); //sq_getbool(v, -1, &ret); qr_close(v); } return true; //ret == SQTrue ? true : false; }