[CONSOLE.CPL]: Rewrite the way we deal with console font samples in the console prope...
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Wed, 3 May 2017 23:56:35 +0000 (23:56 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Wed, 3 May 2017 23:56:35 +0000 (23:56 +0000)
commitf13d997b764aa8752d85f8d2e0db4cd3c690e8d6
tree9e38a944d3df0e1b9f62c72d4f2b9daab79ed420
parent2dfccd0635258c3cc3687ae9e740e6f67766637f
[CONSOLE.CPL]: Rewrite the way we deal with console font samples in the console properties dialog:
- Remove the font helper functions that were already moved into concfg/font.c in r74462, and use the latter instead.
- Use a double list for listing the available font sizes for a given face:
  * a ListBox for raster fonts;
  * a ComboBox for TrueType fonts, allowing the user to specify a custom size.
  The raster ListBox is wrapped using the LIST_CTL structure so that we can use
  the bisection functions on it.
- Allow the user to specify TrueType font size either in pixels or in points. Raster font sizes however are always in pixels.
- Try to remember the nearest font size across different selected face changes.
- Try to support custom-sized TrueType fonts (using the ComboBox's edit field). May need more improvements!
- Retrieve the correct character cell height & width size in pixels when selecting a font (especially when it's a TrueType one).
- We now support bold console fonts too, see CORE-13122 (thanks Katayama!).
- Remove the commented-out "temporary code for future reference".
- Use a global cached font "hCurrentFont" that gets initialized when the console properties applet is created,
  so that we now can have a correct font in the screen samples when one directly views e.g. the "Color" tab,
  without going first in the "Font" tab. This current font is of course updated whenever one changes the font settings.

Tested with success on Windows 2003, Windows 7 and on ReactOS.

CORE-13122 CORE-13182 #resolve

svn path=/trunk/; revision=74469
reactos/dll/cpl/console/console.c
reactos/dll/cpl/console/console.h
reactos/dll/cpl/console/font.c
reactos/dll/cpl/console/layout.c