diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2013-09-15 21:57:55 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2013-09-15 21:57:55 -0700 |
commit | 672e606b6d857e370ac75c076a1b2982e5bccd67 (patch) | |
tree | 46dcaace1126e2b2c2f785e42f562fe5c7718484 /src/ColorOptionPage.cpp | |
download | sekaiju-672e606b6d857e370ac75c076a1b2982e5bccd67.tar.gz sekaiju-672e606b6d857e370ac75c076a1b2982e5bccd67.tar.bz2 sekaiju-672e606b6d857e370ac75c076a1b2982e5bccd67.zip |
Converted Sekaiju 3.6 to Visual Studio 2008.
Diffstat (limited to 'src/ColorOptionPage.cpp')
-rw-r--r-- | src/ColorOptionPage.cpp | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/src/ColorOptionPage.cpp b/src/ColorOptionPage.cpp new file mode 100644 index 0000000..dca6534 --- /dev/null +++ b/src/ColorOptionPage.cpp @@ -0,0 +1,160 @@ +//******************************************************************************
+// MIDIシーケンサーソフト『世界樹』
+// オプション(色)プロパティページクラス
+// (C)2002-2012 おーぷんMIDIぷろじぇくと/くず
+//******************************************************************************
+
+/* This library is free software; you can redistribute it and/or */
+/* modify it under the terms of the GNU Lesser Color Public */
+/* License as published by the Free Software Foundation; either */
+/* version 2.1 of the License, or (at your option) any later version. */
+
+/* This library is distributed in the hope that it will be useful, */
+/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */
+/* Lesser Color Public License for more details. */
+
+/* You should have received a copy of the GNU Lesser Color Public */
+/* License along with this library; if not, write to the Free Software */
+/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+
+#include "winver.h"
+#include <afxwin.h>
+#include <afxcmn.h>
+#include <afxext.h>
+
+#include "resource.h"
+#include "ColorOptionPage.h"
+
+#include "../../MIDIIO/MIDIIO.h"
+#include "../../MIDIData/MIDIData.h"
+#include "../../MIDIClock/MIDIClock.h"
+#include "../../MIDIStatus/MIDIStatus.h"
+#include "../../MIDIInstrument/MIDIInstrument.h"
+#include "SekaijuApp.h"
+
+#ifndef CLIP
+#define CLIP(A,B,C) ((B)<(A)?(A):((B)>(C)?(C):(B)))
+#endif
+
+//------------------------------------------------------------------------------
+// 構築と破壊
+//------------------------------------------------------------------------------
+
+// コンストラクタ
+CColorOptionPage::CColorOptionPage () : CPropertyPage (CColorOptionPage::IDD) {
+}
+
+//------------------------------------------------------------------------------
+// オペレーション
+//------------------------------------------------------------------------------
+
+//------------------------------------------------------------------------------
+// オーバーライド
+//------------------------------------------------------------------------------
+
+// データエクスチェンジ
+void CColorOptionPage::DoDataExchange (CDataExchange* pDX) {
+ CDialog::DoDataExchange (pDX);
+}
+
+// ダイアログの初期化
+BOOL CColorOptionPage::OnInitDialog () {
+ BOOL bRet = CDialog::OnInitDialog ();
+ // カラー選択コンボボックスの生成と位置調整と色サンプルの追加
+ long i = 0;
+ long r, g, b;
+ // 前景色(トラックデフォルト色)
+ for (i = 0; i < 8; i++) {
+ m_theForeColorCombo[i].Create
+ (WS_BORDER | WS_VISIBLE | WS_CHILD | WS_TABSTOP | WS_VSCROLL,
+ CRect (10, 10, 300, 300), this, IDC_COLOROPTION_FORECOLOR_00 + 16 + i);
+ CRect rcComboDummy;
+ CWnd* pComboDummy = GetDlgItem (IDC_COLOROPTION_FORECOLOR_00 + i);
+ pComboDummy->GetWindowRect (&rcComboDummy);
+ this->ScreenToClient (&rcComboDummy);
+ m_theForeColorCombo[i].MoveWindow (&rcComboDummy);
+ pComboDummy->DestroyWindow ();
+ for (r = 0; r <= 256; r += 64) {
+ for (g = 0; g <= 256; g += 64) {
+ for (b = 0; b <= 256; b += 64) {
+ m_theForeColorCombo[i].AddSampleColor (RGB (MIN (r, 255), MIN (g, 255), MIN (b, 255)));
+ }
+ }
+ }
+ m_theForeColorCombo[i].AddSampleColor (COLORSELECTCOMBOBOX_OTHER);
+ }
+ // 背景色
+ for (i = 0; i < 2; i++) {
+ m_theBackColorCombo[i].Create
+ (WS_BORDER | WS_VISIBLE | WS_CHILD | WS_TABSTOP | WS_VSCROLL,
+ CRect (10, 10, 300, 300), this, IDC_COLOROPTION_BACKCOLOR_00 + 16 + i);
+ CRect rcComboDummy;
+ CWnd* pComboDummy = GetDlgItem (IDC_COLOROPTION_BACKCOLOR_00 + i);
+ pComboDummy->GetWindowRect (&rcComboDummy);
+ this->ScreenToClient (&rcComboDummy);
+ m_theBackColorCombo[i].MoveWindow (&rcComboDummy);
+ pComboDummy->DestroyWindow ();
+ for (r = 0; r <= 256; r += 64) {
+ for (g = 0; g <= 256; g += 64) {
+ for (b = 0; b <= 256; b += 64) {
+ m_theBackColorCombo[i].AddSampleColor (RGB (MIN (r, 255), MIN (g, 255), MIN (b, 255)));
+ }
+ }
+ }
+ m_theBackColorCombo[i].AddSampleColor (COLORSELECTCOMBOBOX_OTHER);
+ }
+ // 水平線色
+ for (i = 0; i < 2; i++) {
+ m_theHorzColorCombo[i].Create
+ (WS_BORDER | WS_VISIBLE | WS_CHILD | WS_TABSTOP | WS_VSCROLL,
+ CRect (10, 10, 300, 300), this, IDC_COLOROPTION_HORZCOLOR_00 + 16 + i);
+ CRect rcComboDummy;
+ CWnd* pComboDummy = GetDlgItem (IDC_COLOROPTION_HORZCOLOR_00 + i);
+ pComboDummy->GetWindowRect (&rcComboDummy);
+ this->ScreenToClient (&rcComboDummy);
+ m_theHorzColorCombo[i].MoveWindow (&rcComboDummy);
+ pComboDummy->DestroyWindow ();
+ for (r = 0; r <= 256; r += 64) {
+ for (g = 0; g <= 256; g += 64) {
+ for (b = 0; b <= 256; b += 64) {
+ m_theHorzColorCombo[i].AddSampleColor (RGB (MIN (r, 255), MIN (g, 255), MIN (b, 255)));
+ }
+ }
+ }
+ m_theHorzColorCombo[i].AddSampleColor (COLORSELECTCOMBOBOX_OTHER);
+ }
+ // 垂直線色
+ for (i = 0; i < 2; i++) {
+ m_theVertColorCombo[i].Create
+ (WS_BORDER | WS_VISIBLE | WS_CHILD | WS_TABSTOP | WS_VSCROLL,
+ CRect (10, 10, 300, 300), this, IDC_COLOROPTION_VERTCOLOR_00 + 16 + i);
+ CRect rcComboDummy;
+ CWnd* pComboDummy = GetDlgItem (IDC_COLOROPTION_VERTCOLOR_00 + i);
+ pComboDummy->GetWindowRect (&rcComboDummy);
+ this->ScreenToClient (&rcComboDummy);
+ m_theVertColorCombo[i].MoveWindow (&rcComboDummy);
+ pComboDummy->DestroyWindow ();
+ for (r = 0; r <= 256; r += 64) {
+ for (g = 0; g <= 256; g += 64) {
+ for (b = 0; b <= 256; b += 64) {
+ m_theVertColorCombo[i].AddSampleColor (RGB (MIN (r, 255), MIN (g, 255), MIN (b, 255)));
+ }
+ }
+ }
+ m_theVertColorCombo[i].AddSampleColor (COLORSELECTCOMBOBOX_OTHER);
+ }
+ return bRet;
+}
+
+
+//------------------------------------------------------------------------------
+// メッセージマップ
+//------------------------------------------------------------------------------
+BEGIN_MESSAGE_MAP (CColorOptionPage, CPropertyPage)
+END_MESSAGE_MAP ()
+
+
+
+
|