static void DrawAndFillRoundedRect (double x, double y, double width, double height, double radius, double fill, string color) { FillRoundedRect(x, y,width, height, radius, fill, color); SetPenColor("Black"); DrawRoundedRect(x, y, width, height, radius); }
static void FillRoundedRect (double x, double y, double width, double height, double radius, double fill, string color) { SetPenColor(color); StartFilledRegion(fill); DrawRoundedRect(x,y,width, height, radius); EndFilledRegion(); }
Drawing drawRoundedRect ( const QPen & pen , const QBrush & brush , const QRectF & rect , const double & xRadius , const double & yRadius , const bool absolute ) { return DrawRoundedRect( pen, brush, rect, xRadius, yRadius, absolute ); }
LRESULT CVideoViewControl::OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { PAINTSTRUCT ps = { 0 }; CDCHandle cdc(BeginPaint(&ps)); if (m_bPlayerStarted && m_strLastErrorMsg.IsEmpty()) { ::SendMessage(m_hWndPlayer, WM_PLAYER_UPDATE, 0, 0); } else { CRect rect; GetClientRect(&rect); static DWORD dwBrushColor = 0; static DWORD dwTextColor = 0; if (!dwBrushColor) { CComPtr<IThemeColorMap> pThemeColorMap; ASSERT_IF_FAILED(m_pTheme->GetColorMap(&pThemeColorMap)); ASSERT_IF_FAILED(pThemeColorMap->GetColor(Twitter::Metadata::Drawing::BrushBackground, &dwBrushColor)); ASSERT_IF_FAILED(pThemeColorMap->GetColor(Twitter::Metadata::Drawing::PictureWindowText, &dwTextColor)); } cdc.SetBkMode(TRANSPARENT); cdc.SetTextColor(dwTextColor); cdc.FillSolidRect(&rect, dwBrushColor); CComBSTR str = L"Launching video player..."; if (!m_strLastErrorMsg.IsEmpty()) str = m_strLastErrorMsg; CSize size; CRect rect1 = rect; cdc.DrawTextEx(str, str.Length(), &rect1, DT_WORDBREAK | DT_CENTER | DT_CALCRECT, NULL); size.cx = rect1.Width(); size.cy = rect1.Height(); auto x = (rect.right - rect.left) / 2 - (size.cx / 2); auto y = (rect.bottom - rect.top) / 2 - (size.cy / 2); CRect rectText(x, y, x + size.cx, y + size.cy); DrawRoundedRect(cdc, rectText, false); cdc.DrawTextEx(str, str.Length(), &rectText, DT_WORDBREAK | DT_CENTER, NULL); } EndPaint(&ps); return 0; }
void CReBar::OnPrefChanged() { m_bBackgrWinDefault = GETTHEMEBOOL(_T("ReBar"), _T("BackgrWindowsDefault")); m_clrBackgrT = GETTHEMECOLOR(_T("ReBar"), _T("BackgrTopColor")); m_clrBackgrB = GETTHEMECOLOR(_T("ReBar"), _T("BackgrBottomColor")); m_clrBackgrLine = GETTHEMECOLOR(_T("ReBar"), _T("BackgrLineColor")); m_bInstantSearch = GETPREFBOOL(_T("Search"), _T("Instantly")); m_bLiteralSearch = GETPREFBOOL(_T("Search"), _T("Literally")); m_mdcToolsBtn.Create(48, 48); DrawAlphaMap(m_mdcToolsBtn, 0, 0, IDA_WRENCH, 48, 48, GETTHEMECOLOR(_T("ToolBarButton"), _T("IconColor")), GETTHEMEALPHA(_T("ToolBarButton"), _T("IconAlpha"))); m_mdcSeenBtn.Create(48, 48); DrawAlphaMap(m_mdcSeenBtn, 0, 0, IDA_SEEN, 48, 48, GETTHEMECOLOR(_T("ToolBarButton"), _T("IconColor")), GETTHEMEALPHA(_T("ToolBarButton"), _T("IconAlpha"))); m_mdcViewBtn.Create(48, 48); DrawAlphaMap(m_mdcViewBtn, 0, 0, IDA_VIEW, 48, 48, GETTHEMECOLOR(_T("ToolBarButton"), _T("IconColor")), GETTHEMEALPHA(_T("ToolBarButton"), _T("IconAlpha"))); m_mdcSortBtn.Create(48, 48); DrawAlphaMap(m_mdcSortBtn, 0, 0, IDA_SORT, 48, 48, GETTHEMECOLOR(_T("ToolBarButton"), _T("IconColor")), GETTHEMEALPHA(_T("ToolBarButton"), _T("IconAlpha"))); // Search box //GETTHEMEFONT(&m_fntSearch, _T("SearchBox"), _T("Font")); //m_eSearch.SetFont(m_fntSearch); m_strSearchBoxFont = GETTHEMESTR(_T("SearchBox"), _T("Font")); m_fSearchBoxFontSize = GETTHEMEFLOAT(_T("SearchBox"), _T("FontSize")); m_eSearch.SetHint(GETSTR(IDS_SEARCH)); m_eSearch.SetHintColor(GETTHEMECOLOR(_T("SearchBox"), _T("HintColor"))); m_eSearch.SetTextColor(GETTHEMECOLOR(_T("SearchBox"), _T("TextColor"))); m_eSearch.SetBackgrColor(GETTHEMECOLOR(_T("SearchBox"), _T("BackgrColor"))); int r = SCX(GETTHEMEINT(_T("SearchBox"), _T("BorderRadius"))); m_sprSearchBox.Create(SCX(23), SCX(23), r+1, r+1, r+1, r+1); DrawRoundedRect(m_sprSearchBox, 0, 0, SCX(23), SCX(23), r, GETTHEMECOLOR(_T("SearchBox"), _T("BorderColor")), GETTHEMEALPHA(_T("SearchBox"), _T("BorderAlpha")), false); DrawRoundedRect(m_sprSearchBox, SCX(1), SCX(1), SCX(23) - 2 * SCX(1), SCX(23) - 2 * SCX(1), (r > 0 ? r - SCX(1) : 0), GETTHEMECOLOR(_T("SearchBox"), _T("BackgrColor"))); // Tools menu DestroyMenu(m_hToolsMenu); m_hToolsMenu = CreatePopupMenu(); AppendMenu(m_hToolsMenu, MF_STRING, ID_TOOLS_ZOOMIN, GETSTR(ID_TOOLS_ZOOMIN)); AppendMenu(m_hToolsMenu, MF_STRING, ID_TOOLS_ZOOMOUT, GETSTR(ID_TOOLS_ZOOMOUT)); AppendMenu(m_hToolsMenu, MF_STRING, ID_TOOLS_ZOOMRESET, GETSTR(ID_TOOLS_ZOOMRESET)); AppendMenu(m_hToolsMenu, MF_SEPARATOR, 0, NULL); AppendMenu(m_hToolsMenu, MF_STRING, ID_TOOLS_STATUSBAR, GETSTR(ID_TOOLS_STATUSBAR)); AppendMenu(m_hToolsMenu, MF_STRING, ID_TOOLS_LOG, GETSTR(ID_TOOLS_LOG)); AppendMenu(m_hToolsMenu, MF_SEPARATOR, 0, NULL); AppendMenu(m_hToolsMenu, MF_STRING, ID_TOOLS_OPTIONS, GETSTR(ID_TOOLS_OPTIONS)); AppendMenu(m_hToolsMenu, MF_SEPARATOR, 0, NULL); AppendMenu(m_hToolsMenu, MF_STRING, ID_TOOLS_EXIT, GETSTR(ID_TOOLS_EXIT)); if (GETPREFBOOL(_T("MainWnd"), _T("ShowStatusBar"))) CheckMenuItem(m_hToolsMenu, ID_TOOLS_STATUSBAR, MF_CHECKED); if (GETPREFBOOL(_T("MainWnd"), _T("ShowLog"))) CheckMenuItem(m_hToolsMenu, ID_TOOLS_LOG, MF_CHECKED); // Check seen button and view button m_btnSeen.SetCheck(GETPREFBOOL(_T("ShowSeenMovies"))); m_btnView.SetCheck(GETPREFBOOL(_T("ViewType"))); // Sort menu m_hSortMenu = CreatePopupMenu(); AppendMenu(m_hSortMenu, MF_STRING, ID_SORT_TITLEASC, GETSTR(ID_SORT_TITLEASC)); AppendMenu(m_hSortMenu, MF_STRING, ID_SORT_TITLEDES, GETSTR(ID_SORT_TITLEDES)); AppendMenu(m_hSortMenu, MF_STRING, ID_SORT_YEARASC, GETSTR(ID_SORT_YEARASC)); AppendMenu(m_hSortMenu, MF_STRING, ID_SORT_YEARDES, GETSTR(ID_SORT_YEARDES)); AppendMenu(m_hSortMenu, MF_STRING, ID_SORT_RATINGASC, GETSTR(ID_SORT_RATINGASC)); AppendMenu(m_hSortMenu, MF_STRING, ID_SORT_RATINGDES, GETSTR(ID_SORT_RATINGDES)); AppendMenu(m_hSortMenu, MF_STRING, ID_SORT_FILETIMEASC, GETSTR(ID_SORT_FILETIMEASC)); AppendMenu(m_hSortMenu, MF_STRING, ID_SORT_FILETIMEDES, GETSTR(ID_SORT_FILETIMEDES)); CheckMenuRadioItem(m_hSortMenu, ID_SORT_TITLEASC, ID_SORT_FILETIMEDES, GETPREFINT(_T("SortBy")) + ID_SORT_TITLEASC, MF_CHECKED); OnScaleChanged(); }
void CScrollBar::PrepareDraw() { m_bWindowsDefault = GETTHEMEBOOL(_T("ScrollBar"), _T("BackgrWindowsDefault")); if (m_bWindowsDefault) { RECT rc; GetClientRect(m_hWnd, &rc); MoveWindow(m_sb, &rc); return; } MoveWindow(m_sb, 0, 0, 0, 0); if (m_bHorz) { ASSERT(false); // TODO } else { int cxBtn = GetSystemMetrics(SM_CXHTHUMB); int cyBtn = cxBtn + SCX(1); // Create background sprite m_sprBackgr.Create(cxBtn, cyBtn, SCX(1), SCX(1), SCX(1), SCX(1)); DrawRect(m_sprBackgr, 0, 0, cxBtn, cyBtn, GETTHEMECOLOR(_T("ScrollBar"), _T("BackgrEdgeColor"))); DrawRect(m_sprBackgr, SCX(1), 0, cxBtn - 2 * SCX(1), cyBtn - SCX(1), GETTHEMECOLOR(_T("ScrollBar"), _T("BackgrColor"))); // Create thumb/button sprite int r = GETTHEMEINT(_T("ScrollBar"), _T("ThumbRadius")); if (r < 0) r = 0; if (r > 4) r = 4; int cyThumb = 2 * SCX(r+1) + 1; m_sprThumbNormal.Create(cxBtn, cyThumb, SCX(r+1), SCX(r+1), SCX(r+1), SCX(r+1)); DrawRoundedRectGradientH(m_sprThumbNormal, SCX(1), 0, cxBtn - 2 * SCX(1), cyThumb, SCX(r), GETTHEMECOLOR(_T("ScrollBar"), _T("ThumbNormalColorL")), GETTHEMECOLOR(_T("ScrollBar"), _T("ThumbNormalColorR"))); DrawRoundedRect(m_sprThumbNormal, SCX(1), 0, cxBtn - 2 * SCX(1), cyThumb, SCX(r), GETTHEMECOLOR(_T("ScrollBar"), _T("ThumbNormalEdge1Color")), GETTHEMEALPHA(_T("ScrollBar"), _T("ThumbNormalEdge1Alpha")), false); DrawRoundedRect(m_sprThumbNormal, SCX(2), SCX(1), cxBtn - 2 * SCX(2), cyThumb - 2 * SCX(1), SCX(r > 0 ? r-1 : 0), GETTHEMECOLOR(_T("ScrollBar"), _T("ThumbNormalEdge2Color")), GETTHEMEALPHA(_T("ScrollBar"), _T("ThumbNormalEdge2Alpha")), false); m_sprThumbHighlight.Create(cxBtn, cyThumb, SCX(r), SCX(r), SCX(r), SCX(r)); DrawRoundedRectGradientH(m_sprThumbHighlight, SCX(1), 0, cxBtn - 2 * SCX(1), cyThumb, SCX(r), GETTHEMECOLOR(_T("ScrollBar"), _T("ThumbHighlightColorL")), GETTHEMECOLOR(_T("ScrollBar"), _T("ThumbHighlightColorR"))); DrawRoundedRect(m_sprThumbHighlight, SCX(1), 0, cxBtn - 2 * SCX(1), cyThumb, SCX(r), GETTHEMECOLOR(_T("ScrollBar"), _T("ThumbHighlightEdge1Color")), GETTHEMEALPHA(_T("ScrollBar"), _T("ThumbHighlightEdge1Alpha")), false); DrawRoundedRect(m_sprThumbHighlight, SCX(2), SCX(1), cxBtn - 2 * SCX(2), cyThumb - 2 * SCX(1), SCX(r > 0 ? r-1 : 0), GETTHEMECOLOR(_T("ScrollBar"), _T("ThumbHighlightEdge2Color")), GETTHEMEALPHA(_T("ScrollBar"), _T("ThumbHighlightEdge2Alpha")), false); m_sprThumbPressed = m_sprThumbHighlight; // Create arrow sprites RMemoryDC mdcTemp(18, 8); DrawAlphaMap(mdcTemp, 0, 0, IDA_SBARROWUP, 18, 8, GETTHEMECOLOR(_T("ScrollBar"), _T("ArrowActiveColor")), GETTHEMEALPHA(_T("ScrollBar"), _T("ArrowActiveAlpha"))); m_mdcArrowUpActive.Create(SCX(9), SCX(4)); Resize(&m_mdcArrowUpActive, &mdcTemp, true); m_mdcArrowDownActive = Flip(m_mdcArrowUpActive); mdcTemp.Create(18, 8); DrawAlphaMap(mdcTemp, 0, 0, IDA_SBARROWUP, 18, 8, GETTHEMECOLOR(_T("ScrollBar"), _T("ArrowInactiveColor")), GETTHEMEALPHA(_T("ScrollBar"), _T("ArrowInactiveAlpha"))); m_mdcArrowUpInactive.Create(SCX(9), SCX(4)); Resize(&m_mdcArrowUpInactive, &mdcTemp, true); m_mdcArrowDownInactive = Flip(m_mdcArrowUpInactive); // Create gripper sprite m_mdcGripper.Create(cxBtn - SCX(7), SCX(9)); for (int y = 0; y < m_mdcGripper.cy; y += SCX(3)) { DrawRectGradientH(m_mdcGripper, 0, y, m_mdcGripper.cx - SCX(1), SCX(2), GETTHEMECOLOR(_T("ScrollBar"), _T("GripperColorL")), GETTHEMECOLOR(_T("ScrollBar"), _T("GripperColorR")), GETTHEMEALPHA(_T("ScrollBar"), _T("GripperAlphaL")), GETTHEMEALPHA(_T("ScrollBar"), _T("GripperAlphaR"))); DrawRect(m_mdcGripper, m_mdcGripper.cx - SCX(1), y, SCX(1), SCX(3), GETTHEMECOLOR(_T("ScrollBar"), _T("GripperEdgeColor")), GETTHEMEALPHA(_T("ScrollBar"), _T("GripperEdgeAlpha"))); DrawRect(m_mdcGripper, 0, y + SCX(2), m_mdcGripper.cx - SCX(1), SCX(1), GETTHEMECOLOR(_T("ScrollBar"), _T("GripperEdgeColor")), GETTHEMEALPHA(_T("ScrollBar"), _T("GripperEdgeAlpha"))); } } }