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