From f5a81a119cb63152c2c2e2473a1ea183a30c8db9 Mon Sep 17 00:00:00 2001 From: Chris Sherlock Date: Tue, 21 Sep 2021 07:19:15 +1000 Subject: vcl: remove OutputDevice's GetDevFontSizeCount() and GetDevFontSize() The OutputDevice::GetDevFontSize() function is only used for non-scalable (bitmap) fonts. We have stopped supporting bitmap fonts since LO 5.3, see tdf#103514: Support for bitmap-only fonts on Windows has been removed (Khaled Hosny) I found the following when removing PhysicalFontFace::SetBitmapSize(): 1. as mnHeight and mnWidth and not set by anyone, I realized I could remove them, which meant removing GetHeight() and GetWidth() 2. PhysicalFontFamily::GetFontHeights() populates heights from the collection of font faces into a sorted vector of font heights taken from PhysicalFontFace. As this no longer exists this function serves no purpose, it has been removed. 3. PhysicalFontFamily::GetDeviceFontSizeList() calls upon PhysicalFontFace::GetFontHeights(). This function takes this sorted list of font heights, and then populates and returns a new list of sizes (or rather, heights). As the heights aren't available any more, this function is also unneeded, so it has been removed. 4. OutputDevice::GetDevFontSizeCount() calls upon PhysicalFontFamily::GetDeviceFontSizeList(). This function has the side effect of initializing the list of fonts. 5. When I checked what calls on GetDevFontSizeCount(), there is only one caller - FontList::GetSizeAry() in svtools. The function returns a standard font size list if the family name is empty, or there are no font sizes (via OutputDevice::GetDevFontSizeCount()). As this will *always* be empty (see chain above) then this function just needs to always return a standard font size list. Thus OutputDevice::GetDevFontSizeCount() and GetFontSizeList() are no longer called upon by anything, so they can be removed. 6. svtool's FontList::GetSizeAry() no longer uses the FontMetric parameter, so this has been removed from the function signature, and cleanup done of the function that calls upon it in svtools, framework, editeng, and desktop. A number of variables that were no longer used due to this change were also removed. 7. This change removed the need for the mpSizeAry unique_ptr in FontList. ImplFontListFontMetric::GetDevice() and mpDevice could also be removed as it was no longer used anywhere. 8. After simplifying GetSizeAry(), it turns out it was the same as GetStdSizeAry(), so removed FontList::GetSizeAry() and used FontList::GetStdSizeAry() in its place. 9. Changing to use GetStdSizeAry() revealed that FontSizeBox::Fill() no longer used the pFontMetric paramter, so this was removed, and call sites updated. 10. Due to change to Fill(): a. SvxFontSizeBox_Base::UpdateFont() no longer uses the const css::awt::FontDescriptor& rCurrentFont parameter, so removed this. This also removed the member variable m_aCurrentFont b. SvxCharNamePage::FillSizeBox_Impl() had a number of newly unused variables removed. c. SwStdFontTabPage::Reset() and SwStdFontTabPage::LoseFocusHdl() had a number of newly unused variables removed. Change-Id: If840e240155c36ed351c63e3136b5b44bb058697 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121932 Tested-by: Jenkins Reviewed-by: Mike Kaganski --- cui/source/tabpages/chardlg.cxx | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'cui/source') diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx index 2bd029208b21..e75db5fe5183 100644 --- a/cui/source/tabpages/chardlg.cxx +++ b/cui/source/tabpages/chardlg.cxx @@ -563,27 +563,19 @@ void SvxCharNamePage::FillSizeBox_Impl(const weld::Widget& rNameBox) const FontList* pFontList = GetFontList(); DBG_ASSERT( pFontList, "no fontlist" ); - FontStyleBox* pStyleBox = nullptr; FontSizeBox* pSizeBox = nullptr; - OUString sFontName; if (m_xWestFontNameLB.get() == &rNameBox) { - pStyleBox = m_xWestFontStyleLB.get(); pSizeBox = m_xWestFontSizeLB.get(); - sFontName = m_xWestFontNameLB->get_active_text(); } else if (m_xEastFontNameLB.get() == &rNameBox) { - pStyleBox = m_xEastFontStyleLB.get(); pSizeBox = m_xEastFontSizeLB.get(); - sFontName = m_xEastFontNameLB->get_active_text(); } else if (m_xCTLFontNameLB.get() == &rNameBox) { - pStyleBox = m_xCTLFontStyleLB.get(); pSizeBox = m_xCTLFontSizeLB.get(); - sFontName = m_xCTLFontNameLB->get_active_text(); } else { @@ -591,8 +583,7 @@ void SvxCharNamePage::FillSizeBox_Impl(const weld::Widget& rNameBox) return; } - FontMetric _aFontMetric(pFontList->Get(sFontName, pStyleBox->get_active_text())); - pSizeBox->Fill( &_aFontMetric, pFontList ); + pSizeBox->Fill( pFontList ); } namespace -- cgit