1 /* CRT SwitchRes Core 2 * Copyright (C) 2018 Alphanu / Ben Templeman. 3 * 4 * RetroArch - A frontend for libretro. 5 * Copyright (C) 2010-2014 - Hans-Kristian Arntzen 6 * Copyright (C) 2011-2017 - Daniel De Matteis 7 * 8 * RetroArch is free software: you can redistribute it and/or modify it under the terms 9 * of the GNU General Public License as published by the Free Software Found- 10 * ation, either version 3 of the License, or (at your option) any later version. 11 * 12 * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 14 * PURPOSE. See the GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License along with RetroArch. 17 * If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef __VIDEO_CRT_SWITCH_H__ 21 #define __VIDEO_CRT_SWITCH_H__ 22 23 #include <stdint.h> 24 25 #include <boolean.h> 26 #include <retro_common_api.h> 27 28 29 RETRO_BEGIN_DECLS 30 31 typedef struct videocrt_switch 32 { 33 double p_clock; 34 35 int center_adjust; 36 int porch_adjust; 37 int tmp_porch_adjust; 38 int tmp_center_adjust; 39 int rtn; 40 unsigned ra_core_width; 41 unsigned ra_core_height; 42 unsigned ra_tmp_width; 43 unsigned ra_tmp_height; 44 unsigned ra_set_core_hz; 45 unsigned index; 46 unsigned int fb_width; 47 unsigned int fb_height; 48 49 float ra_core_hz; 50 float sr_core_hz; 51 float ra_tmp_core_hz; 52 float fly_aspect; 53 float fb_ra_core_hz; 54 55 bool sr2_active; 56 bool menu_active; 57 bool hh_core; 58 59 60 } videocrt_switch_t; 61 62 void crt_switch_res_core( 63 videocrt_switch_t *p_switch, 64 unsigned naitive_width, 65 unsigned width, 66 unsigned height, 67 float hz, 68 unsigned crt_mode, 69 int crt_switch_center_adjust, 70 int crt_switch_porch_adjust, 71 int monitor_index, 72 bool dynamic, 73 int super_width, 74 bool hires_menu); 75 76 void crt_destroy_modes(videocrt_switch_t *p_switch); 77 78 RETRO_END_DECLS 79 80 #endif 81