1 // synergy_settings_dlg.cpp : implementation file
2 //
3
4 #include "stdafx.h"
5 #include "studiox.h"
6 #include "studiox_includes.h"
7 #include "synergy_settings_dlg.h"
8
9
10 // synergy_settings_dlg dialog
11
12 STRING_VAL_PAIR jpeg_decoder_types[] = {
13 { _T("None"), DECODER_TYPE_NONE },
14 { _T("Software JPEG Decoder"), DECODER_TYPE_SW },
15 { _T("Hardware JPEG Decoder"), DECODER_TYPE_HW },
16 { _T(""), 0 }
17 };
18
19 STRING_VAL_PAIR png_decoder_types[] = {
20 { _T("None"), DECODER_TYPE_NONE },
21 { _T("Software PNG Decoder"), DECODER_TYPE_SW },
22 { _T(""), 0 }
23 };
24
25 enum synergy_settings_dlg_test_commands{
26 TEST_CHECK_2D_DRAWING_ENGINE = 1,
27 TEST_SAVE_SYNERGY_SETTING,
28 TEST_CANCE_SYNERGY_SETTING
29 };
30
IMPLEMENT_DYNAMIC(synergy_settings_dlg,express_dialog)31 IMPLEMENT_DYNAMIC(synergy_settings_dlg, express_dialog)
32 BEGIN_MESSAGE_MAP(synergy_settings_dlg, express_dialog)
33 ON_MESSAGE(STUDIO_TEST, OnTestMessage)
34 END_MESSAGE_MAP()
35
36 ///////////////////////////////////////////////////////////////////////////////
37 synergy_settings_dlg::synergy_settings_dlg(CWnd* pParent, int current_display)
38 : express_dialog(synergy_settings_dlg::IDD, pParent)
39 {
40 IconId = IDB_CONFIGURE_PROJECTS;
41 SetTitleText("Renesas Graphics Advanced Settings");
42
43 m_active_display = current_display;
44 }
45
46 ///////////////////////////////////////////////////////////////////////////////
~synergy_settings_dlg()47 synergy_settings_dlg::~synergy_settings_dlg()
48 {
49 }
50
51 ///////////////////////////////////////////////////////////////////////////////
DoDataExchange(CDataExchange * pDX)52 void synergy_settings_dlg::DoDataExchange(CDataExchange* pDX)
53 {
54 express_dialog::DoDataExchange(pDX);
55
56 DDX_Control(pDX, IDC_ENABLE_GRAPH_ACCELERATOR, mD2DCheck);
57 studiox_project* project = GetOpenProject();
58
59 if (!project)
60 {
61 return;
62 }
63
64 if (pDX->m_bSaveAndValidate)
65 {
66 BOOL check = mD2DCheck.GetCheck();
67
68 project->mHeader.dave2d_graph_accelerator = check;
69
70 CComboBox* pBox = (CComboBox*)GetDlgItem(IDC_JPEG_DECODER);
71 int index = pBox->GetCurSel();
72 project->mHeader.renesas_jpeg_decoder = pBox->GetItemData(index);
73
74 pBox = (CComboBox*)GetDlgItem(IDC_PNG_DECODER);
75 index = pBox->GetCurSel();
76 project->mHeader.renesas_png_decoder = pBox->GetItemData(index);
77 }
78 DDX_Control(pDX, IDC_JPEG_DECODER, mJpegDecoder);
79 DDX_Control(pDX, IDC_PNG_DECODER, mPngDecoder);
80 }
81
82 ///////////////////////////////////////////////////////////////////////////////
AddComboData(int control_id,STRING_VAL_PAIR * types,int current_val)83 void synergy_settings_dlg::AddComboData(int control_id, STRING_VAL_PAIR *types, int current_val)
84 {
85 STRING_VAL_PAIR *current = types;
86 CComboBox *pBox = (CComboBox *)GetDlgItem(control_id);
87 int index;
88 int sel_index = -1;
89
90 while (current->name.GetLength())
91 {
92 index = pBox->AddString(current->name);
93 pBox->SetItemData(index, current->val);
94
95 if (current->val == current_val)
96 {
97 sel_index = index;
98 }
99 current++;
100 }
101 pBox->SetCurSel(sel_index);
102 }
103
104 ///////////////////////////////////////////////////////////////////////////////
OnInitDialog()105 BOOL synergy_settings_dlg::OnInitDialog()
106 {
107 express_dialog::OnInitDialog();
108 studiox_project *project = GetOpenProject();
109
110 //SetWindowText(_T("synergy_settings_dlg"));
111
112 AddCancelButton();
113 AddSaveButton();
114
115 if (!project)
116 {
117 return TRUE;
118 }
119
120 /* Initiate Synergy Graph Accelerator checkbox. */
121 if (project->mHeader.dave2d_graph_accelerator)
122 {
123 mD2DCheck.SetCheck(BST_CHECKED);
124 }
125 else
126 {
127 mD2DCheck.SetCheck(BST_UNCHECKED);
128 }
129
130 AddComboData(IDC_JPEG_DECODER, jpeg_decoder_types, project->mHeader.renesas_jpeg_decoder);
131 AddComboData(IDC_PNG_DECODER, png_decoder_types, project->mHeader.renesas_png_decoder);
132
133 // TODO: Add extra initialization here
134
135 return TRUE; // return TRUE unless you set the focus to a control
136 // EXCEPTION: OCX Property Pages should return FALSE
137 }
138
139 ///////////////////////////////////////////////////////////////////////////////
OnTestMessage(WPARAM wParam,LPARAM lParam)140 LRESULT synergy_settings_dlg::OnTestMessage(WPARAM wParam, LPARAM lParam)
141 {
142 switch (wParam)
143 {
144 case TEST_CHECK_2D_DRAWING_ENGINE:
145 mD2DCheck.SetCheck(lParam);
146 SendMessage(WM_COMMAND, MAKEWPARAM(IDC_ENABLE_GRAPH_ACCELERATOR, BN_CLICKED), (LPARAM)mD2DCheck.m_hWnd);
147 break;
148
149 case TEST_SAVE_SYNERGY_SETTING:
150 OnOK();
151 break;
152
153 case TEST_CANCE_SYNERGY_SETTING:
154 OnCancel();
155 break;
156 }
157
158 return 0;
159 }
160