/** * Reads KScope's parameters from the standard configuration file. */ void KScopeConfig::load() { uint i; KSharedConfig::Ptr pConf = KGlobal::config(); // Need a working instance to get the system's default font (cannot be // initialised statically) s_cpDef.fonts[FileList] = KGlobalSettings::generalFont(); s_cpDef.fonts[TagList] = KGlobalSettings::generalFont(); s_cpDef.fonts[QueryWindow] = KGlobalSettings::generalFont(); // Read the paths to required executables KConfigGroup groupProgram = pConf->group("Programs"); m_cp.sCscopePath = groupProgram.readEntry("CScope", "/usr/bin/cscope"); m_cp.sCtagsPath = groupProgram.readEntry("CTags", "/usr/bin/ctags"); // Read size and position parameters KConfigGroup groupGeometry = pConf->group("Geometry"); m_cp.bShowTagList = groupGeometry.readEntry("ShowTagList", s_cpDef.bShowTagList); SPLIT_SIZES defV; m_cp.siEditor = groupGeometry.readEntry("Editor", defV); if (m_cp.siEditor.empty()) m_cp.siEditor << 200 << 800; // Read the recent projects list KConfigGroup groupProjects = pConf->group("Projects"); m_slProjects = groupProjects.readEntry("Recent", QStringList()); // Read colour settings KConfigGroup groupColors = pConf->group("Colors"); for (i = 0; i <= LAST_COLOR; i++) { m_cp.clrs[i] = groupColors.readEntry(COLOR_ENTRY(i), s_cpDef.clrs[i]); } // Read font settings KConfigGroup groupFonts = pConf->group("Fonts"); for (i = 0; i <= LAST_FONT; i++) { m_cp.fonts[i] = groupFonts.readEntry(FONT_ENTRY(i), s_cpDef.fonts[i]); } // Other options KConfigGroup gOpt = pConf->group("Options"); m_cp.ctagSortOrder = (CtagSort)gOpt.readEntry("CtagSortOrder", (int)s_cpDef.ctagSortOrder); m_cp.bReadOnlyMode = gOpt.readEntry("ReadOnlyMode", s_cpDef.bReadOnlyMode); m_cp.bLoadLastProj = gOpt.readEntry("LoadLastProj", s_cpDef.bLoadLastProj); m_cp.bAutoTagHl = gOpt.readEntry("AutoTagHl", s_cpDef.bAutoTagHl); m_cp.bBriefQueryCaptions = gOpt.readEntry("BriefQueryCaptions", s_cpDef.bBriefQueryCaptions); m_cp.bWarnModifiedOnDisk = gOpt.readEntry("WarnModifiedOnDisk", s_cpDef.bWarnModifiedOnDisk); m_cp.bAutoSortFiles = gOpt.readEntry("AutoSortFiles", s_cpDef.bAutoSortFiles); m_cp.bShowLinenum = gOpt.readEntry("ShowLinenum", s_cpDef.bShowLinenum); m_cp.sExtEditor = gOpt.readEntry("ExternalEditor", s_cpDef.sExtEditor); m_cp.profile = (SysProfile)gOpt.readEntry("SystemProfile", (int)s_cpDef.profile); m_cp.popup = (EditorPopup)gOpt.readEntry("EditorPopup", (int)s_cpDef.popup); }
/** * Writes KScope's parameters from the standard configuration file. */ void KScopeConfig::store() { uint i; KSharedConfig::Ptr pConf = KGlobal::config(); // Write the paths to required executables KConfigGroup groupProgram = pConf->group("Programs"); groupProgram.writeEntry("CScope", m_cp.sCscopePath); groupProgram.writeEntry("CTags", m_cp.sCtagsPath); // Write size and position parameters KConfigGroup groupGeometry = pConf->group("Geometry"); groupGeometry.writeEntry("ShowTagList", m_cp.bShowTagList); groupGeometry.writeEntry("Editor", m_cp.siEditor); // Write the recent projects list KConfigGroup groupProjects = pConf->group("Projects"); groupProjects.writeEntry("Recent", m_slProjects); // Write colour settings KConfigGroup groupColors = pConf->group("Colors"); for (i = 0; i <= LAST_COLOR; i++) groupColors.writeEntry(COLOR_ENTRY(i), m_cp.clrs[i]); // Write font settings if (m_bFontsChanged) { KConfigGroup groupFonts = pConf->group("Fonts"); for (i = 0; i <= LAST_FONT; i++) groupFonts.writeEntry(FONT_ENTRY(i), m_cp.fonts[i]); m_bFontsChanged = false; } // Other options KConfigGroup groupOptions = pConf->group("Options"); groupOptions.writeEntry("CtagSortOrder", (uint)m_cp.ctagSortOrder); groupOptions.writeEntry("ReadOnlyMode", m_cp.bReadOnlyMode); groupOptions.writeEntry("LoadLastProj", m_cp.bLoadLastProj); groupOptions.writeEntry("AutoTagHl", m_cp.bAutoTagHl); groupOptions.writeEntry("BriefQueryCaptions", m_cp.bBriefQueryCaptions); groupOptions.writeEntry("WarnModifiedOnDisk", m_cp.bWarnModifiedOnDisk); groupOptions.writeEntry("AutoSortFiles", m_cp.bAutoSortFiles); groupOptions.writeEntry("ShowLinenum", m_cp.bShowLinenum); groupOptions.writeEntry("ExternalEditor", m_cp.sExtEditor); groupOptions.writeEntry("SystemProfile", (uint)m_cp.profile); groupOptions.writeEntry("EditorPopup", (uint)m_cp.popup); // Do not report it's the first time on the next run KConfigGroup groupGeneral = pConf->group("General"); groupGeneral.writeEntry("FirstTime", false); groupGeneral.writeEntry(SHOW_WELCOME_ENTRY, false); }
static void get_color(int tokid, int prev, int next, const char *&color, const char *&end, const char **palette = DebuggerClient::DefaultCodeColors) { static const char code[] = { COLOR_ENTRY(258, T_REQUIRE_ONCE, Keyword ), COLOR_ENTRY(259, T_REQUIRE, Keyword ), COLOR_ENTRY(260, T_EVAL, Keyword ), COLOR_ENTRY(261, T_INCLUDE_ONCE, Keyword ), COLOR_ENTRY(262, T_INCLUDE, Keyword ), COLOR_ENTRY(263, T_LOGICAL_OR, Keyword ), COLOR_ENTRY(264, T_LOGICAL_XOR, Keyword ), COLOR_ENTRY(265, T_LOGICAL_AND, Keyword ), COLOR_ENTRY(266, T_PRINT, Keyword ), COLOR_ENTRY(267, T_SR_EQUAL, None ), COLOR_ENTRY(268, T_SL_EQUAL, None ), COLOR_ENTRY(269, T_XOR_EQUAL, None ), COLOR_ENTRY(270, T_OR_EQUAL, None ), COLOR_ENTRY(271, T_AND_EQUAL, None ), COLOR_ENTRY(272, T_MOD_EQUAL, None ), COLOR_ENTRY(273, T_CONCAT_EQUAL, None ), COLOR_ENTRY(274, T_DIV_EQUAL, None ), COLOR_ENTRY(275, T_MUL_EQUAL, None ), COLOR_ENTRY(276, T_MINUS_EQUAL, None ), COLOR_ENTRY(277, T_PLUS_EQUAL, None ), COLOR_ENTRY(278, T_BOOLEAN_OR, None ), COLOR_ENTRY(279, T_BOOLEAN_AND, None ), COLOR_ENTRY(280, T_IS_NOT_IDENTICAL, None ), COLOR_ENTRY(281, T_IS_IDENTICAL, None ), COLOR_ENTRY(282, T_IS_NOT_EQUAL, None ), COLOR_ENTRY(283, T_IS_EQUAL, None ), COLOR_ENTRY(284, T_IS_GREATER_OR_EQUAL, None ), COLOR_ENTRY(285, T_IS_SMALLER_OR_EQUAL, None ), COLOR_ENTRY(286, T_SR, None ), COLOR_ENTRY(287, T_SL, None ), COLOR_ENTRY(288, T_INSTANCEOF, Keyword ), COLOR_ENTRY(289, T_UNSET_CAST, Keyword ), COLOR_ENTRY(290, T_BOOL_CAST, Keyword ), COLOR_ENTRY(291, T_OBJECT_CAST, Keyword ), COLOR_ENTRY(292, T_ARRAY_CAST, Keyword ), COLOR_ENTRY(293, T_STRING_CAST, Keyword ), COLOR_ENTRY(294, T_DOUBLE_CAST, Keyword ), COLOR_ENTRY(295, T_INT_CAST, Keyword ), COLOR_ENTRY(296, T_DEC, None ), COLOR_ENTRY(297, T_INC, None ), COLOR_ENTRY(298, T_CLONE, Keyword ), COLOR_ENTRY(299, T_NEW, Keyword ), COLOR_ENTRY(300, T_EXIT, Keyword ), COLOR_ENTRY(301, T_IF, Keyword ), COLOR_ENTRY(302, T_ELSEIF, Keyword ), COLOR_ENTRY(303, T_ELSE, Keyword ), COLOR_ENTRY(304, T_ENDIF, Keyword ), COLOR_ENTRY(305, T_LNUMBER, None ), COLOR_ENTRY(306, T_DNUMBER, None ), COLOR_ENTRY(307, T_STRING, None ), COLOR_ENTRY(308, T_STRING_VARNAME, Variable ), COLOR_ENTRY(309, T_VARIABLE, Variable ), COLOR_ENTRY(310, T_NUM_STRING, None ), COLOR_ENTRY(311, T_INLINE_HTML, Html ), COLOR_ENTRY(312, T_CHARACTER, Keyword ), COLOR_ENTRY(313, T_BAD_CHARACTER, Keyword ), COLOR_ENTRY(314, T_ENCAPSED_AND_WHITESPACE, String ), COLOR_ENTRY(315, T_CONSTANT_ENCAPSED_STRING, String ), COLOR_ENTRY(316, T_ECHO, Keyword ), COLOR_ENTRY(317, T_DO, Keyword ), COLOR_ENTRY(318, T_WHILE, Keyword ), COLOR_ENTRY(319, T_ENDWHILE, Keyword ), COLOR_ENTRY(320, T_FOR, Keyword ), COLOR_ENTRY(321, T_ENDFOR, Keyword ), COLOR_ENTRY(322, T_FOREACH, Keyword ), COLOR_ENTRY(323, T_ENDFOREACH, Keyword ), COLOR_ENTRY(324, T_DECLARE, Keyword ), COLOR_ENTRY(325, T_ENDDECLARE, Keyword ), COLOR_ENTRY(326, T_AS, Keyword ), COLOR_ENTRY(327, T_SWITCH, Keyword ), COLOR_ENTRY(328, T_ENDSWITCH, Keyword ), COLOR_ENTRY(329, T_CASE, Keyword ), COLOR_ENTRY(330, T_DEFAULT, Keyword ), COLOR_ENTRY(331, T_BREAK, Keyword ), COLOR_ENTRY(332, T_CONTINUE, Keyword ), COLOR_ENTRY(333, T_FUNCTION, Keyword ), COLOR_ENTRY(334, T_CONST, Keyword ), COLOR_ENTRY(335, T_RETURN, Keyword ), COLOR_ENTRY(336, T_TRY, Keyword ), COLOR_ENTRY(337, T_CATCH, Keyword ), COLOR_ENTRY(338, T_THROW, Keyword ), COLOR_ENTRY(339, T_USE, Keyword ), COLOR_ENTRY(340, T_GLOBAL, Keyword ), COLOR_ENTRY(341, T_PUBLIC, Keyword ), COLOR_ENTRY(342, T_PROTECTED, Keyword ), COLOR_ENTRY(343, T_PRIVATE, Keyword ), COLOR_ENTRY(344, T_FINAL, Keyword ), COLOR_ENTRY(345, T_ABSTRACT, Keyword ), COLOR_ENTRY(346, T_STATIC, Keyword ), COLOR_ENTRY(347, T_VAR, Keyword ), COLOR_ENTRY(348, T_UNSET, Keyword ), COLOR_ENTRY(349, T_ISSET, Keyword ), COLOR_ENTRY(350, T_EMPTY, Keyword ), COLOR_ENTRY(351, T_HALT_COMPILER, Keyword ), COLOR_ENTRY(352, T_CLASS, Keyword ), COLOR_ENTRY(353, T_INTERFACE, Keyword ), COLOR_ENTRY(354, T_EXTENDS, Keyword ), COLOR_ENTRY(355, T_IMPLEMENTS, Keyword ), COLOR_ENTRY(356, T_OBJECT_OPERATOR, None ), COLOR_ENTRY(357, T_DOUBLE_ARROW, None ), COLOR_ENTRY(358, T_LIST, Keyword ), COLOR_ENTRY(359, T_ARRAY, Keyword ), COLOR_ENTRY(360, T_CLASS_C, Constant ), COLOR_ENTRY(361, T_METHOD_C, Constant ), COLOR_ENTRY(362, T_FUNC_C, Constant ), COLOR_ENTRY(363, T_LINE, Constant ), COLOR_ENTRY(364, T_FILE, Constant ), COLOR_ENTRY(365, T_COMMENT, Comment ), COLOR_ENTRY(366, T_DOC_COMMENT, Comment ), COLOR_ENTRY(367, T_OPEN_TAG, Tag ), COLOR_ENTRY(368, T_OPEN_TAG_WITH_ECHO, Tag ), COLOR_ENTRY(369, T_CLOSE_TAG, Tag ), COLOR_ENTRY(370, T_WHITESPACE, None ), COLOR_ENTRY(371, T_START_HEREDOC, Keyword ), COLOR_ENTRY(372, T_END_HEREDOC, Keyword ), COLOR_ENTRY(373, T_DOLLAR_OPEN_CURLY_BRACES, None ), COLOR_ENTRY(374, T_CURLY_OPEN, None ), COLOR_ENTRY(375, T_PAAMAYIM_NEKUDOTAYIM, None ), }; if (tokid == 307 /* T_STRING */) { int type = CodeColorConstant; if (prev == '$') { type = CodeColorVariable; } else if (prev == 333 /* T_FUNCTION */ || prev == 352 /* T_CLASS */ || prev == 353 /* T_INTERFACE */) { type = CodeColorDeclaration; } else if (next == '(') { type = CodeColorNone; } color = palette[type * 2]; end = palette[type * 2 + 1]; } else if (tokid >= 258 && tokid <= 375) { tokid -= 258; char c = code[tokid]; color = palette[(int)c]; end = palette[(int)(c+1)]; } else { color = end = NULL; } }
static void get_color(int tokid, int prev, int next, const char *&color, const char *&end, const char **palette = DebuggerClient::DefaultCodeColors) { #undef YYTOKENTYPE #ifdef YYTOKEN_MAP #undef YYTOKEN_MAP #undef YYTOKEN #endif #define YYTOKEN(num, name) (char)(CodeColorKeyword * 2) #define YYTOKEN_MAP static char code[] = #include <util/parser/hphp.tab.hpp> #undef YYTOKEN_MAP #undef YYTOKEN #define COLOR_ENTRY(name, type) \ code[name - YYTOKEN_MIN] = (char)(CodeColor ## type * 2) static bool code_inited = false; if (!code_inited) { code_inited = true; COLOR_ENTRY(T_SR_EQUAL, None ); COLOR_ENTRY(T_SL_EQUAL, None ); COLOR_ENTRY(T_XOR_EQUAL, None ); COLOR_ENTRY(T_OR_EQUAL, None ); COLOR_ENTRY(T_AND_EQUAL, None ); COLOR_ENTRY(T_MOD_EQUAL, None ); COLOR_ENTRY(T_CONCAT_EQUAL, None ); COLOR_ENTRY(T_DIV_EQUAL, None ); COLOR_ENTRY(T_MUL_EQUAL, None ); COLOR_ENTRY(T_MINUS_EQUAL, None ); COLOR_ENTRY(T_PLUS_EQUAL, None ); COLOR_ENTRY(T_BOOLEAN_OR, None ); COLOR_ENTRY(T_BOOLEAN_AND, None ); COLOR_ENTRY(T_IS_NOT_IDENTICAL, None ); COLOR_ENTRY(T_IS_IDENTICAL, None ); COLOR_ENTRY(T_IS_NOT_EQUAL, None ); COLOR_ENTRY(T_IS_EQUAL, None ); COLOR_ENTRY(T_IS_GREATER_OR_EQUAL, None ); COLOR_ENTRY(T_IS_SMALLER_OR_EQUAL, None ); COLOR_ENTRY(T_SR, None ); COLOR_ENTRY(T_SL, None ); COLOR_ENTRY(T_DEC, None ); COLOR_ENTRY(T_INC, None ); COLOR_ENTRY(T_LNUMBER, None ); COLOR_ENTRY(T_DNUMBER, None ); COLOR_ENTRY(T_STRING, None ); COLOR_ENTRY(T_STRING_VARNAME, Variable ); COLOR_ENTRY(T_VARIABLE, Variable ); COLOR_ENTRY(T_NUM_STRING, None ); COLOR_ENTRY(T_INLINE_HTML, Html ); COLOR_ENTRY(T_ENCAPSED_AND_WHITESPACE, String ); COLOR_ENTRY(T_CONSTANT_ENCAPSED_STRING, String ); COLOR_ENTRY(T_OBJECT_OPERATOR, None ); COLOR_ENTRY(T_DOUBLE_ARROW, None ); COLOR_ENTRY(T_CLASS_C, Constant ); COLOR_ENTRY(T_METHOD_C, Constant ); COLOR_ENTRY(T_FUNC_C, Constant ); COLOR_ENTRY(T_LINE, Constant ); COLOR_ENTRY(T_FILE, Constant ); COLOR_ENTRY(T_DIR, Constant ); COLOR_ENTRY(T_COMMENT, Comment ); COLOR_ENTRY(T_DOC_COMMENT, Comment ); COLOR_ENTRY(T_OPEN_TAG, Tag ); COLOR_ENTRY(T_OPEN_TAG_WITH_ECHO, Tag ); COLOR_ENTRY(T_CLOSE_TAG, Tag ); COLOR_ENTRY(T_WHITESPACE, None ); COLOR_ENTRY(T_DOLLAR_OPEN_CURLY_BRACES, None ); COLOR_ENTRY(T_CURLY_OPEN, None ); COLOR_ENTRY(T_PAAMAYIM_NEKUDOTAYIM, None ); } if (tokid == T_STRING) { int type = CodeColorConstant; if (prev == '$') { type = CodeColorVariable; } else if (prev == T_FUNCTION || prev == T_CLASS || prev == T_INTERFACE) { type = CodeColorDeclaration; } else if (next == '(') { type = CodeColorNone; } color = palette[type * 2]; end = palette[type * 2 + 1]; } else if (tokid >= YYTOKEN_MIN && tokid <= YYTOKEN_MAX) { tokid -= YYTOKEN_MIN; char c = code[tokid]; color = palette[(int)c]; end = palette[(int)(c+1)]; } else { color = end = NULL; } }
void loadTheme() { #define COLOR_ENTRY(name) { #name, CONFIG_TYPE_HEXDECIMAL, (void *)&name } ConfigEntry colors_entries[] = { // Shell colors COLOR_ENTRY(BACKGROUND_COLOR), COLOR_ENTRY(TITLE_COLOR), COLOR_ENTRY(PATH_COLOR), COLOR_ENTRY(DATE_TIME_COLOR), // Settings colors COLOR_ENTRY(SETTINGS_MENU_COLOR), COLOR_ENTRY(SETTINGS_MENU_FOCUS_COLOR), COLOR_ENTRY(SETTINGS_MENU_TITLE_COLOR), COLOR_ENTRY(SETTINGS_MENU_ITEM_COLOR), COLOR_ENTRY(SETTINGS_MENU_OPTION_COLOR), // File browser colors COLOR_ENTRY(FOCUS_COLOR), COLOR_ENTRY(FILE_COLOR), COLOR_ENTRY(SFO_COLOR), COLOR_ENTRY(TXT_COLOR), COLOR_ENTRY(FOLDER_COLOR), COLOR_ENTRY(IMAGE_COLOR), COLOR_ENTRY(ARCHIVE_COLOR), COLOR_ENTRY(SCROLL_BAR_COLOR), COLOR_ENTRY(SCROLL_BAR_BG_COLOR), COLOR_ENTRY(MARKED_COLOR), // Context menu colors COLOR_ENTRY(CONTEXT_MENU_TEXT_COLOR), COLOR_ENTRY(CONTEXT_MENU_FOCUS_COLOR), COLOR_ENTRY(CONTEXT_MENU_COLOR), COLOR_ENTRY(CONTEXT_MENU_MORE_COLOR), COLOR_ENTRY(INVISIBLE_COLOR), // Dialog colors COLOR_ENTRY(DIALOG_COLOR), COLOR_ENTRY(DIALOG_BG_COLOR), COLOR_ENTRY(PROGRESS_BAR_COLOR), COLOR_ENTRY(PROGRESS_BAR_BG_COLOR), // Hex editor colors COLOR_ENTRY(HEX_COLOR), COLOR_ENTRY(HEX_OFFSET_COLOR), COLOR_ENTRY(HEX_NIBBLE_COLOR), // Text editor colors COLOR_ENTRY(TEXT_COLOR), COLOR_ENTRY(TEXT_FOCUS_COLOR), COLOR_ENTRY(TEXT_LINE_NUMBER_COLOR), COLOR_ENTRY(TEXT_LINE_NUMBER_COLOR_FOCUS), COLOR_ENTRY(TEXT_HIGHLIGHT_COLOR), // Photo viewer colors COLOR_ENTRY(PHOTO_ZOOM_COLOR), // Audio player colors COLOR_ENTRY(AUDIO_INFO_ASSIGN), COLOR_ENTRY(AUDIO_INFO), COLOR_ENTRY(AUDIO_SPEED), COLOR_ENTRY(AUDIO_TIME_CURRENT), COLOR_ENTRY(AUDIO_TIME_SLASH), COLOR_ENTRY(AUDIO_TIME_TOTAL), COLOR_ENTRY(AUDIO_TIME_BAR), COLOR_ENTRY(AUDIO_TIME_BAR_BG), }; int i; // Load default config file readConfigBuffer(&_binary_resources_colors_txt_start, (int)&_binary_resources_colors_txt_size, colors_entries, sizeof(colors_entries) / sizeof(ConfigEntry)); // Load custom config file if (use_custom_config) { char path[MAX_PATH_LENGTH]; char *theme_name = NULL; ConfigEntry theme_entries[] = { { "THEME_NAME", CONFIG_TYPE_STRING, (void *)&theme_name }, }; // Load theme config readConfig("ux0:VitaShell/theme/theme.txt", theme_entries, sizeof(theme_entries) / sizeof(ConfigEntry)); if (theme_name) { // Load colors config snprintf(path, MAX_PATH_LENGTH, "ux0:VitaShell/theme/%s/colors.txt", theme_name); readConfig(path, colors_entries, sizeof(colors_entries) / sizeof(ConfigEntry)); // Font snprintf(path, MAX_PATH_LENGTH, "ux0:VitaShell/theme/%s/font.pgf", theme_name); font = vita2d_load_custom_pgf(path); // Load theme for (i = 0; i < N_THEME_IMAGES; i++) { snprintf(path, MAX_PATH_LENGTH, "ux0:VitaShell/theme/%s/%s", theme_name, theme_images[i].name); if (theme_images[i].texture && *(theme_images[i].texture) == NULL) *(theme_images[i].texture) = vita2d_load_PNG_file(path); } } } // Load default theme for (i = 0; i < N_THEME_IMAGES; i++) { if (theme_images[i].texture && *(theme_images[i].texture) == NULL && theme_images[i].default_buf) *(theme_images[i].texture) = vita2d_load_PNG_buffer(theme_images[i].default_buf); } // Load default pngs if (!dialog_image) { dialog_image = vita2d_create_empty_texture(SCREEN_WIDTH, SCREEN_HEIGHT); void *data = vita2d_texture_get_datap(dialog_image); int y; for (y = 0; y < SCREEN_HEIGHT; y++) { int x; for (x = 0; x < SCREEN_WIDTH; x++) { ((uint32_t *)data)[x + SCREEN_WIDTH * y] = DIALOG_BG_COLOR; } } } if (!context_image) { context_image = vita2d_create_empty_texture(SCREEN_WIDTH, SCREEN_HEIGHT); void *data = vita2d_texture_get_datap(context_image); int y; for (y = 0; y < SCREEN_HEIGHT; y++) { int x; for (x = 0; x < SCREEN_WIDTH; x++) { ((uint32_t *)data)[x + SCREEN_WIDTH * y] = CONTEXT_MENU_COLOR; } } } if (!context_more_image) { context_more_image = vita2d_create_empty_texture(SCREEN_WIDTH, SCREEN_HEIGHT); void *data = vita2d_texture_get_datap(context_more_image); int y; for (y = 0; y < SCREEN_HEIGHT; y++) { int x; for (x = 0; x < SCREEN_WIDTH; x++) { ((uint32_t *)data)[x + SCREEN_WIDTH * y] = CONTEXT_MENU_MORE_COLOR; } } } if (!settings_image) { settings_image = vita2d_create_empty_texture(SCREEN_WIDTH, SCREEN_HEIGHT); void *data = vita2d_texture_get_datap(settings_image); int y; for (y = 0; y < SCREEN_HEIGHT; y++) { int x; for (x = 0; x < SCREEN_WIDTH; x++) { ((uint32_t *)data)[x + SCREEN_WIDTH * y] = SETTINGS_MENU_COLOR; } } } // Load system fonts if (!font) font = loadSystemFonts(); // Font size cache for (i = 0; i < 256; i++) { char character[2]; character[0] = i; character[1] = '\0'; font_size_cache[i] = vita2d_pgf_text_width(font, FONT_SIZE, character); } }
/* * APOLLO_init * * initialises window to occupy current window */ APOLLO_init() { pad_$window_desc_t window; int size, prefx, prefy, prefxs, prefys, x, y, w, h; short i; pad_$set_scale(stream_$stdout, 1, 1, status); pad_$inq_windows(stream_$stdout, window_info, 10, n_windows, status); w = window_info[0].width; h = window_info[0].height; x = window_info[0].left; y = window_info[0].top; getprefposandsize(&prefx, &prefy, &prefxs, &prefys); if (prefx > -1) { x = prefx; y = prefy; } if (prefxs > -1) { w = prefxs; h = prefys; } size = MIN(w, h); vdevice.sizeX = vdevice.sizeY = size - 1; vdevice.sizeSx = w - 1; vdevice.sizeSy = h - 1; init_bitmap_size.x_size = w; init_bitmap_size.y_size = h; source.window_base.x_coord = source.window_base.y_coord = 0; source.window_size.x_size = init_bitmap_size.x_size; source.window_size.y_size = init_bitmap_size.y_size; dest_pos.x_coord = dest_pos.y_coord = 0; /* * Inquire about the actual display .... */ gpr_$inq_disp_characteristics(mode, stream_$stdout, (short)60, disp, disp_len, status); vdevice.depth = disp.n_planes; hi_plane_id = disp.n_planes - 1; if (prefx == -1 && prefxs == -1) { stream_id = stream_$stdout; } else { window.top = y; window.left = x; window.width = w; window.height = h; pad_$create_window("", 0, pad_$transcript, 1, window, stream_id, status ); pad_$set_auto_close(stream_id, 1, true, status); } gpr_$init(mode, stream_id, init_bitmap_size, hi_plane_id, front_bitmap, status); current_bitmap = front_bitmap; gpr_$set_auto_refresh(true, status); gpr_$set_cursor_active(false,status); /* Set up all the character stuff */ first_time = 1; /* create a key set for the event interupts */ lib_$init_set(keys, (short)256); lib_$init_set(mouse_keys, (short)6); lib_$add_to_set(mouse_keys, (short)6, KBD_$M1D); lib_$add_to_set(mouse_keys, (short)6, KBD_$M2D); lib_$add_to_set(mouse_keys, (short)6, KBD_$M3D); lib_$add_to_set(mouse_keys, (short)6, KBD_$M1U); lib_$add_to_set(mouse_keys, (short)6, KBD_$M2U); lib_$add_to_set(mouse_keys, (short)6, KBD_$M3U); for (i = 0; i < 128; i++) lib_$add_to_set(keys, (short)256, (short)i); gpr_$enable_input(gpr_$keystroke, keys, status); gpr_$enable_input(gpr_$buttons, keys, status); gpr_$enable_input(gpr_$locator, keys, status); /* set default color (colour) */ if (disp.n_planes > 1) { gpr_$inq_color_map(0L, (short)MAXCOLORS, old_color_value, status); gpr_$inq_color_map(0L, (short)MAXCOLORS, color_value, status); color_value[0] = COLOR_ENTRY(0,0,0); /* color--black */ color_value[1] = COLOR_ENTRY(255,0,0); /* color--red */ color_value[2] = COLOR_ENTRY(0,255,0); /* color--green */ color_value[3] = COLOR_ENTRY(255,255,0); /* color--yellow */ color_value[4] = COLOR_ENTRY(0,0,255); /* color--blue */ color_value[5] = COLOR_ENTRY(255,0,255); /* color--magenta */ color_value[6] = COLOR_ENTRY(0,255,255); /* color--cyan */ color_value[7] = COLOR_ENTRY(255,255,255); /* color--white */ /* modify color table */ gpr_$acquire_display(status); gpr_$set_color_map((long)0, (short)MAXCOLORS, color_value, status); gpr_$release_display(status); } back_used = 0; return(1); }