#include "TZ_Vendor_tl.h"
#include "TZ_Vendor_debug_tl.h"
#include "TuiScreenResource.h"

#if defined(W1536)
#include "screen_resource_w1536.h"
#elif defined(DPI640)
#include "screen_resource_w1440.h"
#elif defined(DPI480)
#include "screen_resource_w1080.h"
#elif defined(DPI320)
#include "screen_resource_w720.h"
#endif

uint8_t* getScreenResource(uint32_t resourceId, uint32_t *resourceSize) {
	switch (resourceId) {
	case ID_RESOURCE_RESTORE_TEXT_INPUT_ACTIVATED:
		*resourceSize = sizeof(img_screen_text_field_input_activated);
		return img_screen_text_field_input_activated;
	case ID_RESOURCE_RESTORE_TEXT_INPUT_ERROR:
		*resourceSize = sizeof(img_screen_text_field_input_error);
		return img_screen_text_field_input_error;
	case ID_RESOURCE_RESTORE_TEXT_INPUT_CLEAR:
		*resourceSize = sizeof(img_screen_font_01_blank_field_all_del);
		return img_screen_font_01_blank_field_all_del;
	case ID_RESOURCE_RESTORE_PHARSE_TEXTAREA:
		*resourceSize = sizeof(img_screen_pharse_input_textarea);
		return img_screen_pharse_input_textarea;
	case ID_RESOURCE_RESTORE_RECOMMEND_BG:
		*resourceSize = sizeof(img_screen_recommend_bg);
		return img_screen_recommend_bg;
	case ID_RESOURCE_RESTORE_RECOMMEND_CLEAR:
		*resourceSize = sizeof(img_screen_recommend_bg_blank);
		return img_screen_recommend_bg_blank;
	case ID_RESOURCE_CONFIRM_DIVIDER:
		*resourceSize = sizeof(img_screen_confirmation_divider);
		return img_screen_confirmation_divider;
	case ID_RESOURCE_RESTORE_WORD_BG:
		*resourceSize = sizeof(img_screen_word_bg);
		return img_screen_word_bg;
	case ID_RESOURCE_RESTORE_WORD_FOCUS_BG:
		*resourceSize = sizeof(img_screen_word_bg_del);
		return img_screen_word_bg_del;
	case ID_RESOURCE_RESTORE_WORD_CLEAR:
		*resourceSize = sizeof(img_screen_word_blank);
		return img_screen_word_blank;
	case ID_RESOURCE_RESTORE_BUTTON_DELETE_WORD:
		*resourceSize = sizeof(img_screen_btn_word_del);
		return img_screen_btn_word_del;
	case ID_RESOURCE_BACKUP_QUIZ_TEXT_INPUT_ACTIVATED:
		*resourceSize = sizeof(img_screen_confirm_text_field_input_activated);
		return img_screen_confirm_text_field_input_activated;
	case ID_RESOURCE_BACKUP_QUIZ_TEXT_INPUT_COMPLETE:
		*resourceSize = sizeof(img_screen_confirm_text_field_input_complete);
		return img_screen_confirm_text_field_input_complete;
	case ID_RESOURCE_BACKUP_QUIZ_TEXT_INPUT_ERROR:
		*resourceSize = sizeof(img_screen_confirm_text_field_input_error);
		return img_screen_confirm_text_field_input_error;
	case ID_RESOURCE_BACKUP_QUIZ_BUTTON_ENTER_ENABLE:
		*resourceSize = sizeof(img_screen_ic_enter);
		return img_screen_ic_enter;
	case ID_RESOURCE_BACKUP_QUIZ_BUTTON_ENTER_PRESSED:
		*resourceSize = sizeof(img_screen_ic_enter_pressed);
		return img_screen_ic_enter_pressed;
	case ID_RESOURCE_BACKUP_QUIZ_BUTTON_ENTER_DEFAULT:
		*resourceSize = sizeof(img_screen_ic_enter_0);
		return img_screen_ic_enter_0;
	case ID_RESOURCE_BACKUP_QUIZ_BUTTON_ENTER_CHECKED:
		*resourceSize = sizeof(img_screen_ic_v);
		return img_screen_ic_v;

	default:
		TTY_LOG("Invalid Screen Resource ID : %d", resourceId);
		*resourceSize = 0;
		return NULL;
	}
}

EFontType getScreenFontType(uint32_t resourceId) {
	switch (resourceId) {
	case ID_FONT_TYPE_RESTORE_MNEMONIC_LIST:
		return FONT_TYPE_02;
	case ID_FONT_TYPE_RESTORE_MNEMONIC_INPUT:
		return FONT_TYPE_01;
	case ID_FONT_TYPE_RESTORE_MNEMONIC_RECOMMEND:
		return FONT_TYPE_02;
	case ID_FONT_TYPE_BACKUP_MNEMONIC_LIST:
		return FONT_TYPE_03;
	case ID_FONT_TYPE_CONFIRM_ADDRESS:
		return FONT_TYPE_05;
	case ID_FONT_TYPE_CONFIRM_AMOUNT:
		return FONT_TYPE_04;
	case ID_FONT_TYPE_CONFIRM_TOTAL:
		return FONT_TYPE_08;
	case ID_FONT_TYPE_CONFIRM_DATA:
		return FONT_TYPE_07;
	case ID_FONT_TYPE_CONFIRM_GAS:
		return FONT_TYPE_07;
	default:
		TTY_LOG("Invalid FontType ID : %d", resourceId);
		return FONT_TYPE_01;
	}
}