2
* uivideoc64plus4vic20.c
5
* Marco van den Heuvel <blackystardust68@yahoo.com>
7
* This file is part of VICE, the Versatile Commodore Emulator.
8
* See README for copyright notice.
10
* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation; either version 2 of the License, or
13
* (at your option) any later version.
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
20
* You should have received a copy of the GNU General Public License
21
* along with this program; if not, write to the Free Software
22
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
29
#define _INLINE_MUIMASTER_H
33
#include "uivideoc64plus4vic20.h"
35
#include "translate.h"
37
static video_canvas_t *video_canvas;
39
static int ui_external_palette_enable_translate[] = {
45
static char *ui_external_palette_enable[countof(ui_external_palette_enable_translate)];
47
static const int ui_external_palette_enable_values[] = {
53
static int ui_PAL_mode_translate[] = {
59
static char *ui_PAL_mode[countof(ui_PAL_mode_translate)];
61
static const int ui_PAL_mode_values[] = {
67
static ui_to_from_t ui_to_from[] = {
68
{ NULL, MUI_TYPE_FLOAT, "ColorGamma", NULL, NULL },
69
{ NULL, MUI_TYPE_FLOAT, "PALScanLineShade", NULL, NULL },
70
{ NULL, MUI_TYPE_FLOAT, "PALBlur", NULL, NULL },
71
{ NULL, MUI_TYPE_CYCLE, "PALMode", ui_PAL_mode, ui_PAL_mode_values },
72
{ NULL, MUI_TYPE_CYCLE, NULL, ui_external_palette_enable, ui_external_palette_enable_values },
73
{ NULL, MUI_TYPE_FILENAME, NULL, NULL, NULL },
74
{ NULL, MUI_TYPE_FLOAT, "ColorSaturation", NULL, NULL },
75
{ NULL, MUI_TYPE_FLOAT, "ColorContrast", NULL, NULL },
76
{ NULL, MUI_TYPE_FLOAT, "ColorBrightness", NULL, NULL },
77
UI_END /* mandatory */
80
static ULONG Browse( struct Hook *hook, Object *obj, APTR arg )
84
fname=BrowseFile(translate_text(IDS_EXTERNAL_PALETTE_SELECT), "#?.vpl", video_canvas);
87
set(ui_to_from[5].object, MUIA_String_Contents, fname);
92
static APTR build_gui(void)
94
APTR app, ui, ok, browse_button, cancel;
97
static const struct Hook BrowseFileHook = { { NULL,NULL },(VOID *)HookEntry,(VOID *)Browse, NULL};
99
static const struct Hook BrowseFileHook = { { NULL,NULL },(VOID *)Browse,NULL,NULL };
105
STRING(ui_to_from[0].object, translate_text(IDS_GAMMA_0_2), ".0123456789", 5+1)
106
STRING(ui_to_from[1].object, translate_text(IDS_PAL_SHADE_0_1), ".0123456789", 5+1)
107
STRING(ui_to_from[2].object, translate_text(IDS_PAL_BLUR_0_1), ".0123456789", 5+1)
108
CYCLE(ui_to_from[3].object, translate_text(IDS_PAL_MODE), ui_PAL_mode)
109
CYCLE(ui_to_from[4].object, translate_text(IDS_EXTERNAL_PALETTE), ui_external_palette_enable)
110
FILENAME(ui_to_from[5].object, translate_text(IDS_PALETTE_FILENAME), browse_button)
111
STRING(ui_to_from[6].object, translate_text(IDS_SATURATION_0_2), ".0123456789", 5+1)
112
STRING(ui_to_from[7].object, translate_text(IDS_CONTRAST_0_2), ".0123456789", 5+1)
113
STRING(ui_to_from[8].object, translate_text(IDS_BRIGHTNESS_0_2), ".0123456789", 5+1)
119
MUIM_Notify, MUIA_Pressed, FALSE,
120
app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
122
DoMethod(ok, MUIM_Notify, MUIA_Pressed, FALSE,
123
app, 2, MUIM_Application_ReturnID, BTN_OK);
125
DoMethod(browse_button, MUIM_Notify, MUIA_Pressed, FALSE,
126
app, 2, MUIM_CallHook, &BrowseFileHook);
132
void ui_video_c64plus4vic20_settings_dialog(video_canvas_t *canvas, char *external_palette, char *palette_file)
137
intl_convert_mui_table(ui_external_palette_enable_translate, ui_external_palette_enable);
138
intl_convert_mui_table(ui_PAL_mode_translate, ui_PAL_mode);
139
ui_to_from[4].resource=external_palette;
140
ui_to_from[5].resource=palette_file;
142
window = mui_make_simple_window(build_gui(), translate_text(IDS_VIDEO_SETTINGS));
144
if (window != NULL) {
145
mui_add_window(window);
146
ui_get_to(ui_to_from);
147
set(window, MUIA_Window_Open, TRUE);
148
if (mui_run() == BTN_OK) {
149
ui_get_from(ui_to_from);
151
set(window, MUIA_Window_Open, FALSE);
152
mui_rem_window(window);
153
MUI_DisposeObject(window);