mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-07 11:46:30 +02:00
71 lines
3.1 KiB
C#
71 lines
3.1 KiB
C#
|
|
// Copyright (c) Microsoft Corporation
|
|||
|
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
|||
|
|
// See the LICENSE file in the project root for more information.
|
|||
|
|
|
|||
|
|
using System;
|
|||
|
|
using System.Runtime.InteropServices;
|
|||
|
|
|
|||
|
|
namespace Microsoft.PowerToys.Settings.UI.Helpers
|
|||
|
|
{
|
|||
|
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.NamingRules", "SA1307:Accessible fields should begin with upper-case letter", Justification = "Keep original names from original structure")]
|
|||
|
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.NamingRules", "SA1306:Field names should begin with lower-case letter", Justification = "Keep original names from original structure")]
|
|||
|
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1401:Fields should be private", Justification = "Structure used for win32 interop. We need to access the fields")]
|
|||
|
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "CA1805:Do not initialize unnecessarily", Justification = "Let's have initializations be explicit for these win32 interop types")]
|
|||
|
|
|
|||
|
|
// Class to select the Dialog options to call ChooseFont.
|
|||
|
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
|
|||
|
|
public class CHOOSEFONT
|
|||
|
|
{
|
|||
|
|
public int lStructSize = Marshal.SizeOf(typeof(CHOOSEFONT));
|
|||
|
|
public IntPtr hwndOwner = IntPtr.Zero;
|
|||
|
|
public IntPtr hDC = IntPtr.Zero;
|
|||
|
|
public IntPtr lpLogFont = IntPtr.Zero;
|
|||
|
|
public int iPointSize = 0;
|
|||
|
|
public int Flags = 0;
|
|||
|
|
public int rgbColors = 0;
|
|||
|
|
public IntPtr lCustData = IntPtr.Zero;
|
|||
|
|
public IntPtr lpfnHook = IntPtr.Zero;
|
|||
|
|
public string lpTemplateName = null;
|
|||
|
|
public IntPtr hInstance = IntPtr.Zero;
|
|||
|
|
public string lpszStyle = null;
|
|||
|
|
public short nFontType;
|
|||
|
|
private short __MISSING_ALIGNMENT__;
|
|||
|
|
public int nSizeMin;
|
|||
|
|
public int nSizeMax;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[Flags]
|
|||
|
|
public enum CHOOSE_FONT_FLAGS
|
|||
|
|
{
|
|||
|
|
CF_SCREENFONTS = 0x00000001,
|
|||
|
|
CF_PRINTER_FONTS = 0x00000002,
|
|||
|
|
CF_BOTH = CF_SCREENFONTS | CF_PRINTER_FONTS,
|
|||
|
|
CF_SHOW_HELP = 0x00000004,
|
|||
|
|
CF_ENABLE_HOOK = 0x00000008,
|
|||
|
|
CF_ENABLETEMPLATE = 0x00000010,
|
|||
|
|
CF_ENABLETEMPLATE_HANDLE = 0x00000020,
|
|||
|
|
CF_INITTOLOGFONTSTRUCT = 0x00000040,
|
|||
|
|
CF_USE_STYLE = 0x00000080,
|
|||
|
|
CF_EFFECTS = 0x00000100,
|
|||
|
|
CF_APPLY = 0x00000200,
|
|||
|
|
CF_ANSI_ONLY = 0x00000400,
|
|||
|
|
CF_SCRIPTS_ONLY = CF_ANSI_ONLY,
|
|||
|
|
CF_NO_VECTOR_FONTS = 0x00000800,
|
|||
|
|
CF_NO_OEM_FONTS = CF_NO_VECTOR_FONTS,
|
|||
|
|
CF_NO_SIMULATIONS = 0x00001000,
|
|||
|
|
CF_LIMITSIZE = 0x00002000,
|
|||
|
|
CF_FIXED_PITCH_ONLY = 0x00004000,
|
|||
|
|
CF_WYSIWYG = 0x00008000,
|
|||
|
|
CF_FORCE_FONT_EXIST = 0x00010000,
|
|||
|
|
CF_SCALABLE_ONLY = 0x00020000,
|
|||
|
|
CF_TT_ONLY = 0x00040000,
|
|||
|
|
CF_NO_FACE_SEL = 0x00080000,
|
|||
|
|
CF_NO_STYLE_SEL = 0x00100000,
|
|||
|
|
CF_NO_SIZE_SEL = 0x00200000,
|
|||
|
|
CF_SELECT_SCRIPT = 0x00400000,
|
|||
|
|
CF_NO_SCRIPT_SEL = 0x00800000,
|
|||
|
|
CF_NO_VERT_FONTS = 0x01000000,
|
|||
|
|
CF_INACTIVE_FONTS = 0x02000000,
|
|||
|
|
}
|
|||
|
|
}
|