// // Set default variables // PLUGIN_EXPORT void PluginSetDefaultVars() { // PC_SetPluginVar(m_dwPluginID, OVR_VAR_POSITION_X, (int)0); // PC_SetPluginVar(m_dwPluginID, OVR_VAR_POSITION_Y, (int)0); // PC_SetPluginVar(m_dwPluginID, OVR_VAR_SIZE_X, (int)100); // PC_SetPluginVar(m_dwPluginID, OVR_VAR_SIZE_Y, (int)50); PC_SetPluginVar(m_dwPluginID, VAR_NORMAL_COLOR, RGB(255, 255, 0)); PC_SetPluginVar(m_dwPluginID, VAR_RECORD_COLOR, RGB(255, 0, 0)); PC_SetPluginVar(m_dwPluginID, VAR_SHOW_WHEN_NOT_RECORDING, 1); }
// // Set default variables // PLUGIN_EXPORT void PluginSetDefaultVars() { PC_SetPluginVar(m_dwPluginID, VAR_TEXT_COLOR, RGB(255, 255, 255)); PC_SetPluginVar(m_dwPluginID, VAR_BACKGROUND_COLOR, 0); PC_SetPluginVar(m_dwPluginID, VAR_TEXT_FONT_FAMILY, L"Consolas"); PC_SetPluginVar(m_dwPluginID, VAR_TEXT_FONT_SIZE, 24); PC_SetPluginVar(m_dwPluginID, VAR_TEXT_FONT_STYLE, (int)0); // flags: 1 - bold, 2 - italic PC_SetPluginVar(m_dwPluginID, VAR_SHOW_BACKGROUND, 1); PC_SetPluginVar(m_dwPluginID, VAR_TEXT_FILE, L""); }
static INT_PTR CALLBACK DlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { DWORD id; // NMHDR *p; switch (uMsg) { case WM_COMMAND: id = LOWORD(wParam); if (id == IDOK || id == IDCANCEL) { if (id == IDOK) { PC_SetPluginVar(m_dwPluginID, VAR_NORMAL_COLOR, dwNormalColor); PC_SetPluginVar(m_dwPluginID, VAR_RECORD_COLOR, dwRecordColor); PC_SetPluginVar(m_dwPluginID, VAR_SHOW_WHEN_NOT_RECORDING, Button_GetCheck(GetDlgItem(hwnd, IDC_SHOW_WHEN_NOT_RECORDING)) == BST_CHECKED); int style = (bBold ? 1 : 0) | (bItalic ? 2 : 0); } EndDialog(hwnd, id); } if (id == IDC_NORMAL_COLOR_BTN || id == IDC_RECORD_COLOR_BTN) { DWORD &color_var = (id == IDC_NORMAL_COLOR_BTN) ? dwNormalColor : dwRecordColor; COLORREF custColors[16]; CHOOSECOLOR cc = { 0 }; cc.lStructSize = sizeof(cc); cc.hwndOwner = hwnd; cc.rgbResult = color_var; cc.Flags = CC_FULLOPEN | CC_RGBINIT; cc.lpCustColors = custColors; if (ChooseColor(&cc)) { color_var = cc.rgbResult; InvalidateRect(hwnd, 0, 0); } } break; case WM_NOTIFY: break; case WM_DRAWITEM: { auto lpDIS = (LPDRAWITEMSTRUCT)lParam; if (lpDIS->CtlID == IDC_NORMAL_COLOR_BTN) DrawColorButton(lpDIS, dwNormalColor); if (lpDIS->CtlID == IDC_RECORD_COLOR_BTN) DrawColorButton(lpDIS, dwRecordColor); break; } case WM_INITDIALOG: InitSettingsDialog(hwnd); return true; } return false; }
static INT_PTR CALLBACK DlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { DWORD id; // NMHDR *p; switch (uMsg) { case WM_COMMAND: id = LOWORD(wParam); if (id == IDOK || id == IDCANCEL) { if (id == IDOK) { PC_SetPluginVar(m_dwPluginID, VAR_TEXT_COLOR, dwTextColor); PC_SetPluginVar(m_dwPluginID, VAR_BACKGROUND_COLOR, dwBackgroundColor); PC_SetPluginVar(m_dwPluginID, VAR_TEXT_FILE, szFileName.c_str()); PC_SetPluginVar(m_dwPluginID, VAR_TEXT_FONT_FAMILY, szFontFamily.c_str()); PC_SetPluginVar(m_dwPluginID, VAR_TEXT_FILE, szFileName.c_str()); PC_SetPluginVar(m_dwPluginID, VAR_TEXT_FONT_SIZE, dwFontSize); PC_SetPluginVar(m_dwPluginID, VAR_SHOW_BACKGROUND, Button_GetCheck(GetDlgItem(hwnd, IDC_SHOW_BACKGROUND)) == BST_CHECKED); int style = (bBold ? 1 : 0) | (bItalic ? 2 : 0); PC_SetPluginVar(m_dwPluginID, VAR_TEXT_FONT_STYLE, style); } EndDialog(hwnd, id); } if (id == IDC_TEXT_COLOR_BTN || id == IDC_BACKGROUND_COLOR_BTN) { DWORD &color_var = (id == IDC_TEXT_COLOR_BTN) ? dwTextColor : dwBackgroundColor; COLORREF custColors[16]; CHOOSECOLOR cc = { 0 }; cc.lStructSize = sizeof(cc); cc.hwndOwner = hwnd; cc.rgbResult = color_var; cc.Flags = CC_FULLOPEN | CC_RGBINIT; cc.lpCustColors = custColors; if (ChooseColor(&cc)) { color_var = cc.rgbResult; InvalidateRect(hwnd, 0, 0); } } if (id == IDC_TEXT_FONT) { LOGFONT lf = { 0 }; lf.lfItalic = bItalic; wcscpy_s(lf.lfFaceName, szFontFamily.c_str()); HDC dc = GetDC(hwnd); lf.lfHeight = -MulDiv(dwFontSize, GetDeviceCaps(dc, LOGPIXELSY), 72); lf.lfWeight = 400; CHOOSEFONT cf = { 0 }; cf.lStructSize = sizeof(cf); cf.hwndOwner = hwnd; cf.lpLogFont = &lf; cf.iPointSize = dwFontSize * 10; cf.Flags = CF_FORCEFONTEXIST | CF_INITTOLOGFONTSTRUCT | CF_NOSCRIPTSEL; if (ChooseFont(&cf)) { bItalic = lf.lfItalic != 0; bBold = lf.lfWeight > 500; szFontFamily = lf.lfFaceName; dwFontSize = (-lf.lfHeight * 72) / GetDeviceCaps(dc, LOGPIXELSY); SetFontButtonText(hwnd); } ReleaseDC(hwnd, dc); } if (id == IDC_TEXT_FILE) { HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE); if (SUCCEEDED(hr)) { IFileOpenDialog *pFileOpen; COMDLG_FILTERSPEC rgSpec[] = { { L"Text Files", L"*.txt" }, { L"All Files", L"*.*" }, }; // Create the FileOpenDialog object. hr = CoCreateInstance(CLSID_FileOpenDialog, NULL, CLSCTX_ALL, IID_IFileOpenDialog, reinterpret_cast<void**>(&pFileOpen)); if (SUCCEEDED(hr)) { // Show the Open dialog box. pFileOpen->SetFileTypes(2, rgSpec); hr = pFileOpen->Show(NULL); // Get the file name from the dialog box. if (SUCCEEDED(hr)) { IShellItem *pItem; hr = pFileOpen->GetResult(&pItem); if (SUCCEEDED(hr)) { PWSTR pszFilePath; hr = pItem->GetDisplayName(SIGDN_FILESYSPATH, &pszFilePath); // Display the file name to the user. if (SUCCEEDED(hr)) { //MessageBox(NULL, pszFilePath, L"File Path", MB_OK); //szFileName = L"CATS"; szFileName = pszFilePath; SetFileNameButtonText(hwnd); CoTaskMemFree(pszFilePath); } pItem->Release(); } } pFileOpen->Release(); } CoUninitialize(); } } break; case WM_NOTIFY: break; case WM_DRAWITEM: { auto lpDIS = (LPDRAWITEMSTRUCT)lParam; if (lpDIS->CtlID == IDC_TEXT_COLOR_BTN) DrawColorButton(lpDIS, dwTextColor); if (lpDIS->CtlID == IDC_BACKGROUND_COLOR_BTN) DrawColorButton(lpDIS, dwBackgroundColor); break; } case WM_INITDIALOG: InitSettingsDialog(hwnd); return true; } return false; }