Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 75 additions & 18 deletions src/libraries/System.Drawing.Common/ref/System.Drawing.Common.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,9 +268,7 @@ public enum CopyPixelOperation
Whiteness = 16711778,
CaptureBlt = 1073741824,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter))]
public sealed partial class Font : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Font(System.Drawing.Font prototype, System.Drawing.FontStyle newStyle) { }
Expand DownExpand Up@@ -301,6 +299,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Italic { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontNameConverter))]
public string Name { get { throw null; } }
[System.ComponentModel.BrowsableAttribute(false)]
public string? OriginalFontName { get { throw null; } }
Expand All@@ -315,6 +314,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
public string SystemFontName { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Underline { get { throw null; } }
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontUnitConverter))]
public System.Drawing.GraphicsUnit Unit { get { throw null; } }
public object Clone() { throw null; }
public void Dispose() { }
Expand All@@ -334,6 +334,33 @@ public void ToLogFont(object logFont) { }
public void ToLogFont(object logFont, System.Drawing.Graphics graphics) { }
public override string ToString() { throw null; }
}
public partial class FontConverter : System.ComponentModel.TypeConverter
{
public FontConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext context) { throw null; }
public sealed partial class FontNameConverter : System.ComponentModel.TypeConverter, System.IDisposable
{
public FontNameConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
void System.IDisposable.Dispose() { }
}
public partial class FontUnitConverter : System.ComponentModel.EnumConverter
{
public FontUnitConverter() : base (default(System.Type)) { }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
}
public sealed partial class FontFamily : System.MarshalByRefObject, System.IDisposable
{
public FontFamily(System.Drawing.Text.GenericFontFamilies genericFamily) { }
Expand DownExpand Up@@ -629,9 +656,7 @@ public enum GraphicsUnit
Document = 5,
Millimeter = 6,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.IconConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.IconConverter))]
public sealed partial class Icon : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Icon(System.Drawing.Icon original, System.Drawing.Size size) { }
Expand DownExpand Up@@ -660,15 +685,21 @@ void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Ser
public System.Drawing.Bitmap ToBitmap() { throw null; }
public override string ToString() { throw null; }
}
public partial class IconConverter : System.ComponentModel.ExpandableObjectConverter
{
public IconConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Type sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Type destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType) { throw null; }
}
public partial interface IDeviceContext : System.IDisposable
{
System.IntPtr GetHdc();
void ReleaseHdc();
}
[System.ComponentModel.ImmutableObjectAttribute(true)]
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageConverter))]
public abstract partial class Image : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
internal Image() { }
Expand DownExpand Up@@ -742,6 +773,26 @@ public static void StopAnimate(System.Drawing.Image image, System.EventHandler o
public static void UpdateFrames() { }
public static void UpdateFrames(System.Drawing.Image image) { }
}
public partial class ImageConverter : System.ComponentModel.TypeConverter
{
public ImageConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class ImageFormatConverter : System.ComponentModel.TypeConverter
{
public ImageFormatConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public sealed partial class Pen : System.MarshalByRefObject, System.ICloneable, System.IDisposable
{
public Pen(System.Drawing.Brush brush) { }
Expand DownExpand Up@@ -961,7 +1012,7 @@ public void Intersect(System.Drawing.Region region) { }
public bool IsVisible(System.Drawing.Rectangle rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics? g) { throw null; }
Comment thread
safern marked this conversation as resolved.
public bool IsVisible(int x, int y, int width, int height) { throw null; }
public bool IsVisible(int x, int y, int width, int height, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(float x, float y) { throw null; }
Expand DownExpand Up@@ -2292,9 +2343,7 @@ public enum ImageFlags
ReadOnly = 65536,
Caching = 131072,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageFormatConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageFormatConverter))]
public sealed partial class ImageFormat
{
public ImageFormat(System.Guid guid) { }
Expand DownExpand Up@@ -2491,9 +2540,7 @@ public InvalidPrinterException(System.Drawing.Printing.PrinterSettings settings)
protected InvalidPrinterException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.Printing.MarginsConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.Printing.MarginsConverter))]
public partial class Margins : System.ICloneable
{
public Margins() { }
Expand All@@ -2505,10 +2552,20 @@ public Margins(int left, int right, int top, int bottom) { }
public object Clone() { throw null; }
public override bool Equals(object? obj) { throw null; }
public override int GetHashCode() { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public override string ToString() { throw null; }
}
public partial class MarginsConverter : System.ComponentModel.ExpandableObjectConverter
{
public MarginsConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class PageSettings : System.ICloneable
{
public PageSettings() { }
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -262,6 +262,9 @@
</data>
<data name="InvalidArgumentValue" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'.</value>
</data>
<data name="InvalidArgumentValueFontConverter" xml:space="preserve">
<value>Value of '{0}' is not valid for font size unit.</value>
</data>
<data name="InvalidBoundArgument" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'. '{0}' should be greater than {2} and less than or equal to {3}.</value>
Expand DownExpand Up@@ -437,6 +440,9 @@
<data name="NotImplementedUnderX11" xml:space="preserve">
<value>Operation not implemented under X11</value>
</data>
<data name="none" xml:space="preserve">
<value>(none)</value>
</data>
<data name="NoValidIconImageFound" xml:space="preserve">
<value>No valid icon image found</value>
</data>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,7 +25,10 @@
<Compile Include="System\Drawing\GdiplusNative.cs" />
<Compile Include="System\Drawing\Graphics.cs" />
<Compile Include="System\Drawing\GraphicsUnit.cs" />
<Compile Include="System\Drawing\IconConverter.cs" />
<Compile Include="System\Drawing\Image.cs" />
<Compile Include="System\Drawing\ImageConverter.cs" />
<Compile Include="System\Drawing\ImageFormatConverter.cs" />
<Compile Include="System\Drawing\ImageType.cs" />
<Compile Include="System\Drawing\Pen.cs" />
<Compile Include="System\Drawing\Pens.cs" />
Expand DownExpand Up@@ -116,6 +119,7 @@
<Compile Include="System\Drawing\Internal\ISystemEventTracker.cs" />
<Compile Include="System\Drawing\Brush.cs" />
<Compile Include="System\Drawing\Font.cs" />
<Compile Include="System\Drawing\FontConverter.cs" />
<Compile Include="System\Drawing\FontFamily.cs" />
<Compile Include="System\Drawing\SolidBrush.cs" />
<Compile Include="System\Drawing\SystemBrushes.cs" />
Expand All@@ -130,6 +134,7 @@
<Compile Include="System\Drawing\Printing\InvalidPrinterException.cs" />
<Compile Include="System\Drawing\Printing\InvalidPrinterException.Core.cs" />
<Compile Include="System\Drawing\Printing\Margins.cs" />
<Compile Include="System\Drawing\Printing\MarginsConverter.cs" />
<Compile Include="System\Drawing\Printing\PaperKinds.cs" />
<Compile Include="System\Drawing\Printing\PaperSize.cs" />
<Compile Include="System\Drawing\Printing\PaperSource.cs" />
Expand DownExpand Up@@ -158,6 +163,8 @@
Link="Common\Interop\Windows\User32\Interop.LOGFONT.cs" />
<Compile Include="$(CommonPath)Interop\Windows\Gdi32\Interop.RasterOp.cs"
Link="Common\Interop\Windows\Gdi32\Interop.RasterOp.cs" />
<Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs"
Link="Common\System\Text\ValueStringBuilder.cs" />
<EmbeddedResource Include="Resources\System\Drawing\DefaultComponent.bmp">
<LogicalName>System.Drawing.DefaultComponent.bmp</LogicalName>
</EmbeddedResource>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,9 +13,7 @@ namespace System.Drawing
/// <summary>
/// Defines a particular format for text, including font face, size, and style attributes.
/// </summary>
#if NETCOREAPP
[TypeConverter("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[TypeConverter(typeof(FontConverter))]
[Serializable]
[System.Runtime.CompilerServices.TypeForwardedFrom("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable, ISerializable
Expand DownExpand Up@@ -76,11 +74,13 @@ public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable,
/// Gets the face name of this <see cref='Font'/> .
/// </summary>
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[TypeConverter(typeof(FontConverter.FontNameConverter))]
public string Name => FontFamily.Name;

/// <summary>
/// Gets the unit of measure for this <see cref='Font'/>.
/// </summary>
[TypeConverter(typeof(FontConverter.FontUnitConverter))]
public GraphicsUnit Unit => _fontUnit;

/// <summary>
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Move Font*, Image* and Margins converters to System.Drawing.Common and apply Unit and Name converter by safern · Pull Request #40825 · dotnet/runtime · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 75 additions & 18 deletions src/libraries/System.Drawing.Common/ref/System.Drawing.Common.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,9 +268,7 @@ public enum CopyPixelOperation
Whiteness = 16711778,
CaptureBlt = 1073741824,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter))]
public sealed partial class Font : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Font(System.Drawing.Font prototype, System.Drawing.FontStyle newStyle) { }
Expand DownExpand Up@@ -301,6 +299,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Italic { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontNameConverter))]
public string Name { get { throw null; } }
[System.ComponentModel.BrowsableAttribute(false)]
public string? OriginalFontName { get { throw null; } }
Expand All@@ -315,6 +314,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
public string SystemFontName { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Underline { get { throw null; } }
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontUnitConverter))]
public System.Drawing.GraphicsUnit Unit { get { throw null; } }
public object Clone() { throw null; }
public void Dispose() { }
Expand All@@ -334,6 +334,33 @@ public void ToLogFont(object logFont) { }
public void ToLogFont(object logFont, System.Drawing.Graphics graphics) { }
public override string ToString() { throw null; }
}
public partial class FontConverter : System.ComponentModel.TypeConverter
{
public FontConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext context) { throw null; }
public sealed partial class FontNameConverter : System.ComponentModel.TypeConverter, System.IDisposable
{
public FontNameConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
void System.IDisposable.Dispose() { }
}
public partial class FontUnitConverter : System.ComponentModel.EnumConverter
{
public FontUnitConverter() : base (default(System.Type)) { }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
}
public sealed partial class FontFamily : System.MarshalByRefObject, System.IDisposable
{
public FontFamily(System.Drawing.Text.GenericFontFamilies genericFamily) { }
Expand DownExpand Up@@ -629,9 +656,7 @@ public enum GraphicsUnit
Document = 5,
Millimeter = 6,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.IconConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.IconConverter))]
public sealed partial class Icon : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Icon(System.Drawing.Icon original, System.Drawing.Size size) { }
Expand DownExpand Up@@ -660,15 +685,21 @@ void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Ser
public System.Drawing.Bitmap ToBitmap() { throw null; }
public override string ToString() { throw null; }
}
public partial class IconConverter : System.ComponentModel.ExpandableObjectConverter
{
public IconConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Type sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Type destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType) { throw null; }
}
public partial interface IDeviceContext : System.IDisposable
{
System.IntPtr GetHdc();
void ReleaseHdc();
}
[System.ComponentModel.ImmutableObjectAttribute(true)]
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageConverter))]
public abstract partial class Image : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
internal Image() { }
Expand DownExpand Up@@ -742,6 +773,26 @@ public static void StopAnimate(System.Drawing.Image image, System.EventHandler o
public static void UpdateFrames() { }
public static void UpdateFrames(System.Drawing.Image image) { }
}
public partial class ImageConverter : System.ComponentModel.TypeConverter
{
public ImageConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class ImageFormatConverter : System.ComponentModel.TypeConverter
{
public ImageFormatConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public sealed partial class Pen : System.MarshalByRefObject, System.ICloneable, System.IDisposable
{
public Pen(System.Drawing.Brush brush) { }
Expand DownExpand Up@@ -961,7 +1012,7 @@ public void Intersect(System.Drawing.Region region) { }
public bool IsVisible(System.Drawing.Rectangle rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics? g) { throw null; }
Comment thread
safern marked this conversation as resolved.
public bool IsVisible(int x, int y, int width, int height) { throw null; }
public bool IsVisible(int x, int y, int width, int height, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(float x, float y) { throw null; }
Expand DownExpand Up@@ -2292,9 +2343,7 @@ public enum ImageFlags
ReadOnly = 65536,
Caching = 131072,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageFormatConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageFormatConverter))]
public sealed partial class ImageFormat
{
public ImageFormat(System.Guid guid) { }
Expand DownExpand Up@@ -2491,9 +2540,7 @@ public InvalidPrinterException(System.Drawing.Printing.PrinterSettings settings)
protected InvalidPrinterException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.Printing.MarginsConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.Printing.MarginsConverter))]
public partial class Margins : System.ICloneable
{
public Margins() { }
Expand All@@ -2505,10 +2552,20 @@ public Margins(int left, int right, int top, int bottom) { }
public object Clone() { throw null; }
public override bool Equals(object? obj) { throw null; }
public override int GetHashCode() { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public override string ToString() { throw null; }
}
public partial class MarginsConverter : System.ComponentModel.ExpandableObjectConverter
{
public MarginsConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class PageSettings : System.ICloneable
{
public PageSettings() { }
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -262,6 +262,9 @@
</data>
<data name="InvalidArgumentValue" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'.</value>
</data>
<data name="InvalidArgumentValueFontConverter" xml:space="preserve">
<value>Value of '{0}' is not valid for font size unit.</value>
</data>
<data name="InvalidBoundArgument" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'. '{0}' should be greater than {2} and less than or equal to {3}.</value>
Expand DownExpand Up@@ -437,6 +440,9 @@
<data name="NotImplementedUnderX11" xml:space="preserve">
<value>Operation not implemented under X11</value>
</data>
<data name="none" xml:space="preserve">
<value>(none)</value>
</data>
<data name="NoValidIconImageFound" xml:space="preserve">
<value>No valid icon image found</value>
</data>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,7 +25,10 @@
<Compile Include="System\Drawing\GdiplusNative.cs" />
<Compile Include="System\Drawing\Graphics.cs" />
<Compile Include="System\Drawing\GraphicsUnit.cs" />
<Compile Include="System\Drawing\IconConverter.cs" />
<Compile Include="System\Drawing\Image.cs" />
<Compile Include="System\Drawing\ImageConverter.cs" />
<Compile Include="System\Drawing\ImageFormatConverter.cs" />
<Compile Include="System\Drawing\ImageType.cs" />
<Compile Include="System\Drawing\Pen.cs" />
<Compile Include="System\Drawing\Pens.cs" />
Expand DownExpand Up@@ -116,6 +119,7 @@
<Compile Include="System\Drawing\Internal\ISystemEventTracker.cs" />
<Compile Include="System\Drawing\Brush.cs" />
<Compile Include="System\Drawing\Font.cs" />
<Compile Include="System\Drawing\FontConverter.cs" />
<Compile Include="System\Drawing\FontFamily.cs" />
<Compile Include="System\Drawing\SolidBrush.cs" />
<Compile Include="System\Drawing\SystemBrushes.cs" />
Expand All@@ -130,6 +134,7 @@
<Compile Include="System\Drawing\Printing\InvalidPrinterException.cs" />
<Compile Include="System\Drawing\Printing\InvalidPrinterException.Core.cs" />
<Compile Include="System\Drawing\Printing\Margins.cs" />
<Compile Include="System\Drawing\Printing\MarginsConverter.cs" />
<Compile Include="System\Drawing\Printing\PaperKinds.cs" />
<Compile Include="System\Drawing\Printing\PaperSize.cs" />
<Compile Include="System\Drawing\Printing\PaperSource.cs" />
Expand DownExpand Up@@ -158,6 +163,8 @@
Link="Common\Interop\Windows\User32\Interop.LOGFONT.cs" />
<Compile Include="$(CommonPath)Interop\Windows\Gdi32\Interop.RasterOp.cs"
Link="Common\Interop\Windows\Gdi32\Interop.RasterOp.cs" />
<Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs"
Link="Common\System\Text\ValueStringBuilder.cs" />
<EmbeddedResource Include="Resources\System\Drawing\DefaultComponent.bmp">
<LogicalName>System.Drawing.DefaultComponent.bmp</LogicalName>
</EmbeddedResource>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,9 +13,7 @@ namespace System.Drawing
/// <summary>
/// Defines a particular format for text, including font face, size, and style attributes.
/// </summary>
#if NETCOREAPP
[TypeConverter("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[TypeConverter(typeof(FontConverter))]
[Serializable]
[System.Runtime.CompilerServices.TypeForwardedFrom("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable, ISerializable
Expand DownExpand Up@@ -76,11 +74,13 @@ public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable,
/// Gets the face name of this <see cref='Font'/> .
/// </summary>
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[TypeConverter(typeof(FontConverter.FontNameConverter))]
public string Name => FontFamily.Name;

/// <summary>
/// Gets the unit of measure for this <see cref='Font'/>.
/// </summary>
[TypeConverter(typeof(FontConverter.FontUnitConverter))]
public GraphicsUnit Unit => _fontUnit;

/// <summary>
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Move Font*, Image* and Margins converters to System.Drawing.Common and apply Unit and Name converter by safern · Pull Request #40825 · dotnet/runtime · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 75 additions & 18 deletions src/libraries/System.Drawing.Common/ref/System.Drawing.Common.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,9 +268,7 @@ public enum CopyPixelOperation
Whiteness = 16711778,
CaptureBlt = 1073741824,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter))]
public sealed partial class Font : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Font(System.Drawing.Font prototype, System.Drawing.FontStyle newStyle) { }
Expand DownExpand Up@@ -301,6 +299,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Italic { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontNameConverter))]
public string Name { get { throw null; } }
[System.ComponentModel.BrowsableAttribute(false)]
public string? OriginalFontName { get { throw null; } }
Expand All@@ -315,6 +314,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
public string SystemFontName { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Underline { get { throw null; } }
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontUnitConverter))]
public System.Drawing.GraphicsUnit Unit { get { throw null; } }
public object Clone() { throw null; }
public void Dispose() { }
Expand All@@ -334,6 +334,33 @@ public void ToLogFont(object logFont) { }
public void ToLogFont(object logFont, System.Drawing.Graphics graphics) { }
public override string ToString() { throw null; }
}
public partial class FontConverter : System.ComponentModel.TypeConverter
{
public FontConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext context) { throw null; }
public sealed partial class FontNameConverter : System.ComponentModel.TypeConverter, System.IDisposable
{
public FontNameConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
void System.IDisposable.Dispose() { }
}
public partial class FontUnitConverter : System.ComponentModel.EnumConverter
{
public FontUnitConverter() : base (default(System.Type)) { }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
}
public sealed partial class FontFamily : System.MarshalByRefObject, System.IDisposable
{
public FontFamily(System.Drawing.Text.GenericFontFamilies genericFamily) { }
Expand DownExpand Up@@ -629,9 +656,7 @@ public enum GraphicsUnit
Document = 5,
Millimeter = 6,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.IconConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.IconConverter))]
public sealed partial class Icon : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Icon(System.Drawing.Icon original, System.Drawing.Size size) { }
Expand DownExpand Up@@ -660,15 +685,21 @@ void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Ser
public System.Drawing.Bitmap ToBitmap() { throw null; }
public override string ToString() { throw null; }
}
public partial class IconConverter : System.ComponentModel.ExpandableObjectConverter
{
public IconConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Type sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Type destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType) { throw null; }
}
public partial interface IDeviceContext : System.IDisposable
{
System.IntPtr GetHdc();
void ReleaseHdc();
}
[System.ComponentModel.ImmutableObjectAttribute(true)]
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageConverter))]
public abstract partial class Image : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
internal Image() { }
Expand DownExpand Up@@ -742,6 +773,26 @@ public static void StopAnimate(System.Drawing.Image image, System.EventHandler o
public static void UpdateFrames() { }
public static void UpdateFrames(System.Drawing.Image image) { }
}
public partial class ImageConverter : System.ComponentModel.TypeConverter
{
public ImageConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class ImageFormatConverter : System.ComponentModel.TypeConverter
{
public ImageFormatConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public sealed partial class Pen : System.MarshalByRefObject, System.ICloneable, System.IDisposable
{
public Pen(System.Drawing.Brush brush) { }
Expand DownExpand Up@@ -961,7 +1012,7 @@ public void Intersect(System.Drawing.Region region) { }
public bool IsVisible(System.Drawing.Rectangle rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics? g) { throw null; }
Comment thread
safern marked this conversation as resolved.
public bool IsVisible(int x, int y, int width, int height) { throw null; }
public bool IsVisible(int x, int y, int width, int height, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(float x, float y) { throw null; }
Expand DownExpand Up@@ -2292,9 +2343,7 @@ public enum ImageFlags
ReadOnly = 65536,
Caching = 131072,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageFormatConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageFormatConverter))]
public sealed partial class ImageFormat
{
public ImageFormat(System.Guid guid) { }
Expand DownExpand Up@@ -2491,9 +2540,7 @@ public InvalidPrinterException(System.Drawing.Printing.PrinterSettings settings)
protected InvalidPrinterException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.Printing.MarginsConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.Printing.MarginsConverter))]
public partial class Margins : System.ICloneable
{
public Margins() { }
Expand All@@ -2505,10 +2552,20 @@ public Margins(int left, int right, int top, int bottom) { }
public object Clone() { throw null; }
public override bool Equals(object? obj) { throw null; }
public override int GetHashCode() { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public override string ToString() { throw null; }
}
public partial class MarginsConverter : System.ComponentModel.ExpandableObjectConverter
{
public MarginsConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class PageSettings : System.ICloneable
{
public PageSettings() { }
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -262,6 +262,9 @@
</data>
<data name="InvalidArgumentValue" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'.</value>
</data>
<data name="InvalidArgumentValueFontConverter" xml:space="preserve">
<value>Value of '{0}' is not valid for font size unit.</value>
</data>
<data name="InvalidBoundArgument" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'. '{0}' should be greater than {2} and less than or equal to {3}.</value>
Expand DownExpand Up@@ -437,6 +440,9 @@
<data name="NotImplementedUnderX11" xml:space="preserve">
<value>Operation not implemented under X11</value>
</data>
<data name="none" xml:space="preserve">
<value>(none)</value>
</data>
<data name="NoValidIconImageFound" xml:space="preserve">
<value>No valid icon image found</value>
</data>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,7 +25,10 @@
<Compile Include="System\Drawing\GdiplusNative.cs" />
<Compile Include="System\Drawing\Graphics.cs" />
<Compile Include="System\Drawing\GraphicsUnit.cs" />
<Compile Include="System\Drawing\IconConverter.cs" />
<Compile Include="System\Drawing\Image.cs" />
<Compile Include="System\Drawing\ImageConverter.cs" />
<Compile Include="System\Drawing\ImageFormatConverter.cs" />
<Compile Include="System\Drawing\ImageType.cs" />
<Compile Include="System\Drawing\Pen.cs" />
<Compile Include="System\Drawing\Pens.cs" />
Expand DownExpand Up@@ -116,6 +119,7 @@
<Compile Include="System\Drawing\Internal\ISystemEventTracker.cs" />
<Compile Include="System\Drawing\Brush.cs" />
<Compile Include="System\Drawing\Font.cs" />
<Compile Include="System\Drawing\FontConverter.cs" />
<Compile Include="System\Drawing\FontFamily.cs" />
<Compile Include="System\Drawing\SolidBrush.cs" />
<Compile Include="System\Drawing\SystemBrushes.cs" />
Expand All@@ -130,6 +134,7 @@
<Compile Include="System\Drawing\Printing\InvalidPrinterException.cs" />
<Compile Include="System\Drawing\Printing\InvalidPrinterException.Core.cs" />
<Compile Include="System\Drawing\Printing\Margins.cs" />
<Compile Include="System\Drawing\Printing\MarginsConverter.cs" />
<Compile Include="System\Drawing\Printing\PaperKinds.cs" />
<Compile Include="System\Drawing\Printing\PaperSize.cs" />
<Compile Include="System\Drawing\Printing\PaperSource.cs" />
Expand DownExpand Up@@ -158,6 +163,8 @@
Link="Common\Interop\Windows\User32\Interop.LOGFONT.cs" />
<Compile Include="$(CommonPath)Interop\Windows\Gdi32\Interop.RasterOp.cs"
Link="Common\Interop\Windows\Gdi32\Interop.RasterOp.cs" />
<Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs"
Link="Common\System\Text\ValueStringBuilder.cs" />
<EmbeddedResource Include="Resources\System\Drawing\DefaultComponent.bmp">
<LogicalName>System.Drawing.DefaultComponent.bmp</LogicalName>
</EmbeddedResource>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,9 +13,7 @@ namespace System.Drawing
/// <summary>
/// Defines a particular format for text, including font face, size, and style attributes.
/// </summary>
#if NETCOREAPP
[TypeConverter("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[TypeConverter(typeof(FontConverter))]
[Serializable]
[System.Runtime.CompilerServices.TypeForwardedFrom("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable, ISerializable
Expand DownExpand Up@@ -76,11 +74,13 @@ public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable,
/// Gets the face name of this <see cref='Font'/> .
/// </summary>
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[TypeConverter(typeof(FontConverter.FontNameConverter))]
public string Name => FontFamily.Name;

/// <summary>
/// Gets the unit of measure for this <see cref='Font'/>.
/// </summary>
[TypeConverter(typeof(FontConverter.FontUnitConverter))]
public GraphicsUnit Unit => _fontUnit;

/// <summary>
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Move Font*, Image* and Margins converters to System.Drawing.Common and apply Unit and Name converter by safern · Pull Request #40825 · dotnet/runtime · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 75 additions & 18 deletions src/libraries/System.Drawing.Common/ref/System.Drawing.Common.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,9 +268,7 @@ public enum CopyPixelOperation
Whiteness = 16711778,
CaptureBlt = 1073741824,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter))]
public sealed partial class Font : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Font(System.Drawing.Font prototype, System.Drawing.FontStyle newStyle) { }
Expand DownExpand Up@@ -301,6 +299,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Italic { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontNameConverter))]
public string Name { get { throw null; } }
[System.ComponentModel.BrowsableAttribute(false)]
public string? OriginalFontName { get { throw null; } }
Expand All@@ -315,6 +314,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
public string SystemFontName { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Underline { get { throw null; } }
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontUnitConverter))]
public System.Drawing.GraphicsUnit Unit { get { throw null; } }
public object Clone() { throw null; }
public void Dispose() { }
Expand All@@ -334,6 +334,33 @@ public void ToLogFont(object logFont) { }
public void ToLogFont(object logFont, System.Drawing.Graphics graphics) { }
public override string ToString() { throw null; }
}
public partial class FontConverter : System.ComponentModel.TypeConverter
{
public FontConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext context) { throw null; }
public sealed partial class FontNameConverter : System.ComponentModel.TypeConverter, System.IDisposable
{
public FontNameConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
void System.IDisposable.Dispose() { }
}
public partial class FontUnitConverter : System.ComponentModel.EnumConverter
{
public FontUnitConverter() : base (default(System.Type)) { }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
}
public sealed partial class FontFamily : System.MarshalByRefObject, System.IDisposable
{
public FontFamily(System.Drawing.Text.GenericFontFamilies genericFamily) { }
Expand DownExpand Up@@ -629,9 +656,7 @@ public enum GraphicsUnit
Document = 5,
Millimeter = 6,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.IconConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.IconConverter))]
public sealed partial class Icon : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Icon(System.Drawing.Icon original, System.Drawing.Size size) { }
Expand DownExpand Up@@ -660,15 +685,21 @@ void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Ser
public System.Drawing.Bitmap ToBitmap() { throw null; }
public override string ToString() { throw null; }
}
public partial class IconConverter : System.ComponentModel.ExpandableObjectConverter
{
public IconConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Type sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Type destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType) { throw null; }
}
public partial interface IDeviceContext : System.IDisposable
{
System.IntPtr GetHdc();
void ReleaseHdc();
}
[System.ComponentModel.ImmutableObjectAttribute(true)]
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageConverter))]
public abstract partial class Image : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
internal Image() { }
Expand DownExpand Up@@ -742,6 +773,26 @@ public static void StopAnimate(System.Drawing.Image image, System.EventHandler o
public static void UpdateFrames() { }
public static void UpdateFrames(System.Drawing.Image image) { }
}
public partial class ImageConverter : System.ComponentModel.TypeConverter
{
public ImageConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class ImageFormatConverter : System.ComponentModel.TypeConverter
{
public ImageFormatConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public sealed partial class Pen : System.MarshalByRefObject, System.ICloneable, System.IDisposable
{
public Pen(System.Drawing.Brush brush) { }
Expand DownExpand Up@@ -961,7 +1012,7 @@ public void Intersect(System.Drawing.Region region) { }
public bool IsVisible(System.Drawing.Rectangle rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics? g) { throw null; }
Comment thread
safern marked this conversation as resolved.
public bool IsVisible(int x, int y, int width, int height) { throw null; }
public bool IsVisible(int x, int y, int width, int height, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(float x, float y) { throw null; }
Expand DownExpand Up@@ -2292,9 +2343,7 @@ public enum ImageFlags
ReadOnly = 65536,
Caching = 131072,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageFormatConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageFormatConverter))]
public sealed partial class ImageFormat
{
public ImageFormat(System.Guid guid) { }
Expand DownExpand Up@@ -2491,9 +2540,7 @@ public InvalidPrinterException(System.Drawing.Printing.PrinterSettings settings)
protected InvalidPrinterException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.Printing.MarginsConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.Printing.MarginsConverter))]
public partial class Margins : System.ICloneable
{
public Margins() { }
Expand All@@ -2505,10 +2552,20 @@ public Margins(int left, int right, int top, int bottom) { }
public object Clone() { throw null; }
public override bool Equals(object? obj) { throw null; }
public override int GetHashCode() { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public override string ToString() { throw null; }
}
public partial class MarginsConverter : System.ComponentModel.ExpandableObjectConverter
{
public MarginsConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class PageSettings : System.ICloneable
{
public PageSettings() { }
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -262,6 +262,9 @@
</data>
<data name="InvalidArgumentValue" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'.</value>
</data>
<data name="InvalidArgumentValueFontConverter" xml:space="preserve">
<value>Value of '{0}' is not valid for font size unit.</value>
</data>
<data name="InvalidBoundArgument" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'. '{0}' should be greater than {2} and less than or equal to {3}.</value>
Expand DownExpand Up@@ -437,6 +440,9 @@
<data name="NotImplementedUnderX11" xml:space="preserve">
<value>Operation not implemented under X11</value>
</data>
<data name="none" xml:space="preserve">
<value>(none)</value>
</data>
<data name="NoValidIconImageFound" xml:space="preserve">
<value>No valid icon image found</value>
</data>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,7 +25,10 @@
<Compile Include="System\Drawing\GdiplusNative.cs" />
<Compile Include="System\Drawing\Graphics.cs" />
<Compile Include="System\Drawing\GraphicsUnit.cs" />
<Compile Include="System\Drawing\IconConverter.cs" />
<Compile Include="System\Drawing\Image.cs" />
<Compile Include="System\Drawing\ImageConverter.cs" />
<Compile Include="System\Drawing\ImageFormatConverter.cs" />
<Compile Include="System\Drawing\ImageType.cs" />
<Compile Include="System\Drawing\Pen.cs" />
<Compile Include="System\Drawing\Pens.cs" />
Expand DownExpand Up@@ -116,6 +119,7 @@
<Compile Include="System\Drawing\Internal\ISystemEventTracker.cs" />
<Compile Include="System\Drawing\Brush.cs" />
<Compile Include="System\Drawing\Font.cs" />
<Compile Include="System\Drawing\FontConverter.cs" />
<Compile Include="System\Drawing\FontFamily.cs" />
<Compile Include="System\Drawing\SolidBrush.cs" />
<Compile Include="System\Drawing\SystemBrushes.cs" />
Expand All@@ -130,6 +134,7 @@
<Compile Include="System\Drawing\Printing\InvalidPrinterException.cs" />
<Compile Include="System\Drawing\Printing\InvalidPrinterException.Core.cs" />
<Compile Include="System\Drawing\Printing\Margins.cs" />
<Compile Include="System\Drawing\Printing\MarginsConverter.cs" />
<Compile Include="System\Drawing\Printing\PaperKinds.cs" />
<Compile Include="System\Drawing\Printing\PaperSize.cs" />
<Compile Include="System\Drawing\Printing\PaperSource.cs" />
Expand DownExpand Up@@ -158,6 +163,8 @@
Link="Common\Interop\Windows\User32\Interop.LOGFONT.cs" />
<Compile Include="$(CommonPath)Interop\Windows\Gdi32\Interop.RasterOp.cs"
Link="Common\Interop\Windows\Gdi32\Interop.RasterOp.cs" />
<Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs"
Link="Common\System\Text\ValueStringBuilder.cs" />
<EmbeddedResource Include="Resources\System\Drawing\DefaultComponent.bmp">
<LogicalName>System.Drawing.DefaultComponent.bmp</LogicalName>
</EmbeddedResource>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,9 +13,7 @@ namespace System.Drawing
/// <summary>
/// Defines a particular format for text, including font face, size, and style attributes.
/// </summary>
#if NETCOREAPP
[TypeConverter("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[TypeConverter(typeof(FontConverter))]
[Serializable]
[System.Runtime.CompilerServices.TypeForwardedFrom("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable, ISerializable
Expand DownExpand Up@@ -76,11 +74,13 @@ public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable,
/// Gets the face name of this <see cref='Font'/> .
/// </summary>
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[TypeConverter(typeof(FontConverter.FontNameConverter))]
public string Name => FontFamily.Name;

/// <summary>
/// Gets the unit of measure for this <see cref='Font'/>.
/// </summary>
[TypeConverter(typeof(FontConverter.FontUnitConverter))]
public GraphicsUnit Unit => _fontUnit;

/// <summary>
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Move Font*, Image* and Margins converters to System.Drawing.Common and apply Unit and Name converter by safern · Pull Request #40825 · dotnet/runtime · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 75 additions & 18 deletions src/libraries/System.Drawing.Common/ref/System.Drawing.Common.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,9 +268,7 @@ public enum CopyPixelOperation
Whiteness = 16711778,
CaptureBlt = 1073741824,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter))]
public sealed partial class Font : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Font(System.Drawing.Font prototype, System.Drawing.FontStyle newStyle) { }
Expand DownExpand Up@@ -301,6 +299,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Italic { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontNameConverter))]
public string Name { get { throw null; } }
[System.ComponentModel.BrowsableAttribute(false)]
public string? OriginalFontName { get { throw null; } }
Expand All@@ -315,6 +314,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
public string SystemFontName { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Underline { get { throw null; } }
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontUnitConverter))]
public System.Drawing.GraphicsUnit Unit { get { throw null; } }
public object Clone() { throw null; }
public void Dispose() { }
Expand All@@ -334,6 +334,33 @@ public void ToLogFont(object logFont) { }
public void ToLogFont(object logFont, System.Drawing.Graphics graphics) { }
public override string ToString() { throw null; }
}
public partial class FontConverter : System.ComponentModel.TypeConverter
{
public FontConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext context) { throw null; }
public sealed partial class FontNameConverter : System.ComponentModel.TypeConverter, System.IDisposable
{
public FontNameConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
void System.IDisposable.Dispose() { }
}
public partial class FontUnitConverter : System.ComponentModel.EnumConverter
{
public FontUnitConverter() : base (default(System.Type)) { }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
}
public sealed partial class FontFamily : System.MarshalByRefObject, System.IDisposable
{
public FontFamily(System.Drawing.Text.GenericFontFamilies genericFamily) { }
Expand DownExpand Up@@ -629,9 +656,7 @@ public enum GraphicsUnit
Document = 5,
Millimeter = 6,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.IconConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.IconConverter))]
public sealed partial class Icon : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Icon(System.Drawing.Icon original, System.Drawing.Size size) { }
Expand DownExpand Up@@ -660,15 +685,21 @@ void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Ser
public System.Drawing.Bitmap ToBitmap() { throw null; }
public override string ToString() { throw null; }
}
public partial class IconConverter : System.ComponentModel.ExpandableObjectConverter
{
public IconConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Type sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Type destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType) { throw null; }
}
public partial interface IDeviceContext : System.IDisposable
{
System.IntPtr GetHdc();
void ReleaseHdc();
}
[System.ComponentModel.ImmutableObjectAttribute(true)]
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageConverter))]
public abstract partial class Image : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
internal Image() { }
Expand DownExpand Up@@ -742,6 +773,26 @@ public static void StopAnimate(System.Drawing.Image image, System.EventHandler o
public static void UpdateFrames() { }
public static void UpdateFrames(System.Drawing.Image image) { }
}
public partial class ImageConverter : System.ComponentModel.TypeConverter
{
public ImageConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class ImageFormatConverter : System.ComponentModel.TypeConverter
{
public ImageFormatConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public sealed partial class Pen : System.MarshalByRefObject, System.ICloneable, System.IDisposable
{
public Pen(System.Drawing.Brush brush) { }
Expand DownExpand Up@@ -961,7 +1012,7 @@ public void Intersect(System.Drawing.Region region) { }
public bool IsVisible(System.Drawing.Rectangle rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics? g) { throw null; }
Comment thread
safern marked this conversation as resolved.
public bool IsVisible(int x, int y, int width, int height) { throw null; }
public bool IsVisible(int x, int y, int width, int height, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(float x, float y) { throw null; }
Expand DownExpand Up@@ -2292,9 +2343,7 @@ public enum ImageFlags
ReadOnly = 65536,
Caching = 131072,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageFormatConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageFormatConverter))]
public sealed partial class ImageFormat
{
public ImageFormat(System.Guid guid) { }
Expand DownExpand Up@@ -2491,9 +2540,7 @@ public InvalidPrinterException(System.Drawing.Printing.PrinterSettings settings)
protected InvalidPrinterException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.Printing.MarginsConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.Printing.MarginsConverter))]
public partial class Margins : System.ICloneable
{
public Margins() { }
Expand All@@ -2505,10 +2552,20 @@ public Margins(int left, int right, int top, int bottom) { }
public object Clone() { throw null; }
public override bool Equals(object? obj) { throw null; }
public override int GetHashCode() { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public override string ToString() { throw null; }
}
public partial class MarginsConverter : System.ComponentModel.ExpandableObjectConverter
{
public MarginsConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class PageSettings : System.ICloneable
{
public PageSettings() { }
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -262,6 +262,9 @@
</data>
<data name="InvalidArgumentValue" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'.</value>
</data>
<data name="InvalidArgumentValueFontConverter" xml:space="preserve">
<value>Value of '{0}' is not valid for font size unit.</value>
</data>
<data name="InvalidBoundArgument" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'. '{0}' should be greater than {2} and less than or equal to {3}.</value>
Expand DownExpand Up@@ -437,6 +440,9 @@
<data name="NotImplementedUnderX11" xml:space="preserve">
<value>Operation not implemented under X11</value>
</data>
<data name="none" xml:space="preserve">
<value>(none)</value>
</data>
<data name="NoValidIconImageFound" xml:space="preserve">
<value>No valid icon image found</value>
</data>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,7 +25,10 @@
<Compile Include="System\Drawing\GdiplusNative.cs" />
<Compile Include="System\Drawing\Graphics.cs" />
<Compile Include="System\Drawing\GraphicsUnit.cs" />
<Compile Include="System\Drawing\IconConverter.cs" />
<Compile Include="System\Drawing\Image.cs" />
<Compile Include="System\Drawing\ImageConverter.cs" />
<Compile Include="System\Drawing\ImageFormatConverter.cs" />
<Compile Include="System\Drawing\ImageType.cs" />
<Compile Include="System\Drawing\Pen.cs" />
<Compile Include="System\Drawing\Pens.cs" />
Expand DownExpand Up@@ -116,6 +119,7 @@
<Compile Include="System\Drawing\Internal\ISystemEventTracker.cs" />
<Compile Include="System\Drawing\Brush.cs" />
<Compile Include="System\Drawing\Font.cs" />
<Compile Include="System\Drawing\FontConverter.cs" />
<Compile Include="System\Drawing\FontFamily.cs" />
<Compile Include="System\Drawing\SolidBrush.cs" />
<Compile Include="System\Drawing\SystemBrushes.cs" />
Expand All@@ -130,6 +134,7 @@
<Compile Include="System\Drawing\Printing\InvalidPrinterException.cs" />
<Compile Include="System\Drawing\Printing\InvalidPrinterException.Core.cs" />
<Compile Include="System\Drawing\Printing\Margins.cs" />
<Compile Include="System\Drawing\Printing\MarginsConverter.cs" />
<Compile Include="System\Drawing\Printing\PaperKinds.cs" />
<Compile Include="System\Drawing\Printing\PaperSize.cs" />
<Compile Include="System\Drawing\Printing\PaperSource.cs" />
Expand DownExpand Up@@ -158,6 +163,8 @@
Link="Common\Interop\Windows\User32\Interop.LOGFONT.cs" />
<Compile Include="$(CommonPath)Interop\Windows\Gdi32\Interop.RasterOp.cs"
Link="Common\Interop\Windows\Gdi32\Interop.RasterOp.cs" />
<Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs"
Link="Common\System\Text\ValueStringBuilder.cs" />
<EmbeddedResource Include="Resources\System\Drawing\DefaultComponent.bmp">
<LogicalName>System.Drawing.DefaultComponent.bmp</LogicalName>
</EmbeddedResource>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,9 +13,7 @@ namespace System.Drawing
/// <summary>
/// Defines a particular format for text, including font face, size, and style attributes.
/// </summary>
#if NETCOREAPP
[TypeConverter("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[TypeConverter(typeof(FontConverter))]
[Serializable]
[System.Runtime.CompilerServices.TypeForwardedFrom("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable, ISerializable
Expand DownExpand Up@@ -76,11 +74,13 @@ public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable,
/// Gets the face name of this <see cref='Font'/> .
/// </summary>
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[TypeConverter(typeof(FontConverter.FontNameConverter))]
public string Name => FontFamily.Name;

/// <summary>
/// Gets the unit of measure for this <see cref='Font'/>.
/// </summary>
[TypeConverter(typeof(FontConverter.FontUnitConverter))]
public GraphicsUnit Unit => _fontUnit;

/// <summary>
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Move Font*, Image* and Margins converters to System.Drawing.Common and apply Unit and Name converter by safern · Pull Request #40825 · dotnet/runtime · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 75 additions & 18 deletions src/libraries/System.Drawing.Common/ref/System.Drawing.Common.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,9 +268,7 @@ public enum CopyPixelOperation
Whiteness = 16711778,
CaptureBlt = 1073741824,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter))]
public sealed partial class Font : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Font(System.Drawing.Font prototype, System.Drawing.FontStyle newStyle) { }
Expand DownExpand Up@@ -301,6 +299,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Italic { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontNameConverter))]
public string Name { get { throw null; } }
[System.ComponentModel.BrowsableAttribute(false)]
public string? OriginalFontName { get { throw null; } }
Expand All@@ -315,6 +314,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
public string SystemFontName { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Underline { get { throw null; } }
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontUnitConverter))]
public System.Drawing.GraphicsUnit Unit { get { throw null; } }
public object Clone() { throw null; }
public void Dispose() { }
Expand All@@ -334,6 +334,33 @@ public void ToLogFont(object logFont) { }
public void ToLogFont(object logFont, System.Drawing.Graphics graphics) { }
public override string ToString() { throw null; }
}
public partial class FontConverter : System.ComponentModel.TypeConverter
{
public FontConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext context) { throw null; }
public sealed partial class FontNameConverter : System.ComponentModel.TypeConverter, System.IDisposable
{
public FontNameConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
void System.IDisposable.Dispose() { }
}
public partial class FontUnitConverter : System.ComponentModel.EnumConverter
{
public FontUnitConverter() : base (default(System.Type)) { }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
}
public sealed partial class FontFamily : System.MarshalByRefObject, System.IDisposable
{
public FontFamily(System.Drawing.Text.GenericFontFamilies genericFamily) { }
Expand DownExpand Up@@ -629,9 +656,7 @@ public enum GraphicsUnit
Document = 5,
Millimeter = 6,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.IconConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.IconConverter))]
public sealed partial class Icon : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Icon(System.Drawing.Icon original, System.Drawing.Size size) { }
Expand DownExpand Up@@ -660,15 +685,21 @@ void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Ser
public System.Drawing.Bitmap ToBitmap() { throw null; }
public override string ToString() { throw null; }
}
public partial class IconConverter : System.ComponentModel.ExpandableObjectConverter
{
public IconConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Type sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Type destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType) { throw null; }
}
public partial interface IDeviceContext : System.IDisposable
{
System.IntPtr GetHdc();
void ReleaseHdc();
}
[System.ComponentModel.ImmutableObjectAttribute(true)]
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageConverter))]
public abstract partial class Image : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
internal Image() { }
Expand DownExpand Up@@ -742,6 +773,26 @@ public static void StopAnimate(System.Drawing.Image image, System.EventHandler o
public static void UpdateFrames() { }
public static void UpdateFrames(System.Drawing.Image image) { }
}
public partial class ImageConverter : System.ComponentModel.TypeConverter
{
public ImageConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class ImageFormatConverter : System.ComponentModel.TypeConverter
{
public ImageFormatConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public sealed partial class Pen : System.MarshalByRefObject, System.ICloneable, System.IDisposable
{
public Pen(System.Drawing.Brush brush) { }
Expand DownExpand Up@@ -961,7 +1012,7 @@ public void Intersect(System.Drawing.Region region) { }
public bool IsVisible(System.Drawing.Rectangle rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics? g) { throw null; }
Comment thread
safern marked this conversation as resolved.
public bool IsVisible(int x, int y, int width, int height) { throw null; }
public bool IsVisible(int x, int y, int width, int height, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(float x, float y) { throw null; }
Expand DownExpand Up@@ -2292,9 +2343,7 @@ public enum ImageFlags
ReadOnly = 65536,
Caching = 131072,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageFormatConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageFormatConverter))]
public sealed partial class ImageFormat
{
public ImageFormat(System.Guid guid) { }
Expand DownExpand Up@@ -2491,9 +2540,7 @@ public InvalidPrinterException(System.Drawing.Printing.PrinterSettings settings)
protected InvalidPrinterException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.Printing.MarginsConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.Printing.MarginsConverter))]
public partial class Margins : System.ICloneable
{
public Margins() { }
Expand All@@ -2505,10 +2552,20 @@ public Margins(int left, int right, int top, int bottom) { }
public object Clone() { throw null; }
public override bool Equals(object? obj) { throw null; }
public override int GetHashCode() { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public override string ToString() { throw null; }
}
public partial class MarginsConverter : System.ComponentModel.ExpandableObjectConverter
{
public MarginsConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class PageSettings : System.ICloneable
{
public PageSettings() { }
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -262,6 +262,9 @@
</data>
<data name="InvalidArgumentValue" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'.</value>
</data>
<data name="InvalidArgumentValueFontConverter" xml:space="preserve">
<value>Value of '{0}' is not valid for font size unit.</value>
</data>
<data name="InvalidBoundArgument" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'. '{0}' should be greater than {2} and less than or equal to {3}.</value>
Expand DownExpand Up@@ -437,6 +440,9 @@
<data name="NotImplementedUnderX11" xml:space="preserve">
<value>Operation not implemented under X11</value>
</data>
<data name="none" xml:space="preserve">
<value>(none)</value>
</data>
<data name="NoValidIconImageFound" xml:space="preserve">
<value>No valid icon image found</value>
</data>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,7 +25,10 @@
<Compile Include="System\Drawing\GdiplusNative.cs" />
<Compile Include="System\Drawing\Graphics.cs" />
<Compile Include="System\Drawing\GraphicsUnit.cs" />
<Compile Include="System\Drawing\IconConverter.cs" />
<Compile Include="System\Drawing\Image.cs" />
<Compile Include="System\Drawing\ImageConverter.cs" />
<Compile Include="System\Drawing\ImageFormatConverter.cs" />
<Compile Include="System\Drawing\ImageType.cs" />
<Compile Include="System\Drawing\Pen.cs" />
<Compile Include="System\Drawing\Pens.cs" />
Expand DownExpand Up@@ -116,6 +119,7 @@
<Compile Include="System\Drawing\Internal\ISystemEventTracker.cs" />
<Compile Include="System\Drawing\Brush.cs" />
<Compile Include="System\Drawing\Font.cs" />
<Compile Include="System\Drawing\FontConverter.cs" />
<Compile Include="System\Drawing\FontFamily.cs" />
<Compile Include="System\Drawing\SolidBrush.cs" />
<Compile Include="System\Drawing\SystemBrushes.cs" />
Expand All@@ -130,6 +134,7 @@
<Compile Include="System\Drawing\Printing\InvalidPrinterException.cs" />
<Compile Include="System\Drawing\Printing\InvalidPrinterException.Core.cs" />
<Compile Include="System\Drawing\Printing\Margins.cs" />
<Compile Include="System\Drawing\Printing\MarginsConverter.cs" />
<Compile Include="System\Drawing\Printing\PaperKinds.cs" />
<Compile Include="System\Drawing\Printing\PaperSize.cs" />
<Compile Include="System\Drawing\Printing\PaperSource.cs" />
Expand DownExpand Up@@ -158,6 +163,8 @@
Link="Common\Interop\Windows\User32\Interop.LOGFONT.cs" />
<Compile Include="$(CommonPath)Interop\Windows\Gdi32\Interop.RasterOp.cs"
Link="Common\Interop\Windows\Gdi32\Interop.RasterOp.cs" />
<Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs"
Link="Common\System\Text\ValueStringBuilder.cs" />
<EmbeddedResource Include="Resources\System\Drawing\DefaultComponent.bmp">
<LogicalName>System.Drawing.DefaultComponent.bmp</LogicalName>
</EmbeddedResource>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,9 +13,7 @@ namespace System.Drawing
/// <summary>
/// Defines a particular format for text, including font face, size, and style attributes.
/// </summary>
#if NETCOREAPP
[TypeConverter("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[TypeConverter(typeof(FontConverter))]
[Serializable]
[System.Runtime.CompilerServices.TypeForwardedFrom("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable, ISerializable
Expand DownExpand Up@@ -76,11 +74,13 @@ public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable,
/// Gets the face name of this <see cref='Font'/> .
/// </summary>
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[TypeConverter(typeof(FontConverter.FontNameConverter))]
public string Name => FontFamily.Name;

/// <summary>
/// Gets the unit of measure for this <see cref='Font'/>.
/// </summary>
[TypeConverter(typeof(FontConverter.FontUnitConverter))]
public GraphicsUnit Unit => _fontUnit;

/// <summary>
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Move Font*, Image* and Margins converters to System.Drawing.Common and apply Unit and Name converter by safern · Pull Request #40825 · dotnet/runtime · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 75 additions & 18 deletions src/libraries/System.Drawing.Common/ref/System.Drawing.Common.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,9 +268,7 @@ public enum CopyPixelOperation
Whiteness = 16711778,
CaptureBlt = 1073741824,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter))]
public sealed partial class Font : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Font(System.Drawing.Font prototype, System.Drawing.FontStyle newStyle) { }
Expand DownExpand Up@@ -301,6 +299,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Italic { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontNameConverter))]
public string Name { get { throw null; } }
[System.ComponentModel.BrowsableAttribute(false)]
public string? OriginalFontName { get { throw null; } }
Expand All@@ -315,6 +314,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
public string SystemFontName { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Underline { get { throw null; } }
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontUnitConverter))]
public System.Drawing.GraphicsUnit Unit { get { throw null; } }
public object Clone() { throw null; }
public void Dispose() { }
Expand All@@ -334,6 +334,33 @@ public void ToLogFont(object logFont) { }
public void ToLogFont(object logFont, System.Drawing.Graphics graphics) { }
public override string ToString() { throw null; }
}
public partial class FontConverter : System.ComponentModel.TypeConverter
{
public FontConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext context) { throw null; }
public sealed partial class FontNameConverter : System.ComponentModel.TypeConverter, System.IDisposable
{
public FontNameConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
void System.IDisposable.Dispose() { }
}
public partial class FontUnitConverter : System.ComponentModel.EnumConverter
{
public FontUnitConverter() : base (default(System.Type)) { }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
}
public sealed partial class FontFamily : System.MarshalByRefObject, System.IDisposable
{
public FontFamily(System.Drawing.Text.GenericFontFamilies genericFamily) { }
Expand DownExpand Up@@ -629,9 +656,7 @@ public enum GraphicsUnit
Document = 5,
Millimeter = 6,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.IconConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.IconConverter))]
public sealed partial class Icon : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Icon(System.Drawing.Icon original, System.Drawing.Size size) { }
Expand DownExpand Up@@ -660,15 +685,21 @@ void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Ser
public System.Drawing.Bitmap ToBitmap() { throw null; }
public override string ToString() { throw null; }
}
public partial class IconConverter : System.ComponentModel.ExpandableObjectConverter
{
public IconConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Type sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Type destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType) { throw null; }
}
public partial interface IDeviceContext : System.IDisposable
{
System.IntPtr GetHdc();
void ReleaseHdc();
}
[System.ComponentModel.ImmutableObjectAttribute(true)]
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageConverter))]
public abstract partial class Image : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
internal Image() { }
Expand DownExpand Up@@ -742,6 +773,26 @@ public static void StopAnimate(System.Drawing.Image image, System.EventHandler o
public static void UpdateFrames() { }
public static void UpdateFrames(System.Drawing.Image image) { }
}
public partial class ImageConverter : System.ComponentModel.TypeConverter
{
public ImageConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class ImageFormatConverter : System.ComponentModel.TypeConverter
{
public ImageFormatConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public sealed partial class Pen : System.MarshalByRefObject, System.ICloneable, System.IDisposable
{
public Pen(System.Drawing.Brush brush) { }
Expand DownExpand Up@@ -961,7 +1012,7 @@ public void Intersect(System.Drawing.Region region) { }
public bool IsVisible(System.Drawing.Rectangle rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics? g) { throw null; }
Comment thread
safern marked this conversation as resolved.
public bool IsVisible(int x, int y, int width, int height) { throw null; }
public bool IsVisible(int x, int y, int width, int height, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(float x, float y) { throw null; }
Expand DownExpand Up@@ -2292,9 +2343,7 @@ public enum ImageFlags
ReadOnly = 65536,
Caching = 131072,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageFormatConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageFormatConverter))]
public sealed partial class ImageFormat
{
public ImageFormat(System.Guid guid) { }
Expand DownExpand Up@@ -2491,9 +2540,7 @@ public InvalidPrinterException(System.Drawing.Printing.PrinterSettings settings)
protected InvalidPrinterException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.Printing.MarginsConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.Printing.MarginsConverter))]
public partial class Margins : System.ICloneable
{
public Margins() { }
Expand All@@ -2505,10 +2552,20 @@ public Margins(int left, int right, int top, int bottom) { }
public object Clone() { throw null; }
public override bool Equals(object? obj) { throw null; }
public override int GetHashCode() { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public override string ToString() { throw null; }
}
public partial class MarginsConverter : System.ComponentModel.ExpandableObjectConverter
{
public MarginsConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class PageSettings : System.ICloneable
{
public PageSettings() { }
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -262,6 +262,9 @@
</data>
<data name="InvalidArgumentValue" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'.</value>
</data>
<data name="InvalidArgumentValueFontConverter" xml:space="preserve">
<value>Value of '{0}' is not valid for font size unit.</value>
</data>
<data name="InvalidBoundArgument" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'. '{0}' should be greater than {2} and less than or equal to {3}.</value>
Expand DownExpand Up@@ -437,6 +440,9 @@
<data name="NotImplementedUnderX11" xml:space="preserve">
<value>Operation not implemented under X11</value>
</data>
<data name="none" xml:space="preserve">
<value>(none)</value>
</data>
<data name="NoValidIconImageFound" xml:space="preserve">
<value>No valid icon image found</value>
</data>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,7 +25,10 @@
<Compile Include="System\Drawing\GdiplusNative.cs" />
<Compile Include="System\Drawing\Graphics.cs" />
<Compile Include="System\Drawing\GraphicsUnit.cs" />
<Compile Include="System\Drawing\IconConverter.cs" />
<Compile Include="System\Drawing\Image.cs" />
<Compile Include="System\Drawing\ImageConverter.cs" />
<Compile Include="System\Drawing\ImageFormatConverter.cs" />
<Compile Include="System\Drawing\ImageType.cs" />
<Compile Include="System\Drawing\Pen.cs" />
<Compile Include="System\Drawing\Pens.cs" />
Expand DownExpand Up@@ -116,6 +119,7 @@
<Compile Include="System\Drawing\Internal\ISystemEventTracker.cs" />
<Compile Include="System\Drawing\Brush.cs" />
<Compile Include="System\Drawing\Font.cs" />
<Compile Include="System\Drawing\FontConverter.cs" />
<Compile Include="System\Drawing\FontFamily.cs" />
<Compile Include="System\Drawing\SolidBrush.cs" />
<Compile Include="System\Drawing\SystemBrushes.cs" />
Expand All@@ -130,6 +134,7 @@
<Compile Include="System\Drawing\Printing\InvalidPrinterException.cs" />
<Compile Include="System\Drawing\Printing\InvalidPrinterException.Core.cs" />
<Compile Include="System\Drawing\Printing\Margins.cs" />
<Compile Include="System\Drawing\Printing\MarginsConverter.cs" />
<Compile Include="System\Drawing\Printing\PaperKinds.cs" />
<Compile Include="System\Drawing\Printing\PaperSize.cs" />
<Compile Include="System\Drawing\Printing\PaperSource.cs" />
Expand DownExpand Up@@ -158,6 +163,8 @@
Link="Common\Interop\Windows\User32\Interop.LOGFONT.cs" />
<Compile Include="$(CommonPath)Interop\Windows\Gdi32\Interop.RasterOp.cs"
Link="Common\Interop\Windows\Gdi32\Interop.RasterOp.cs" />
<Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs"
Link="Common\System\Text\ValueStringBuilder.cs" />
<EmbeddedResource Include="Resources\System\Drawing\DefaultComponent.bmp">
<LogicalName>System.Drawing.DefaultComponent.bmp</LogicalName>
</EmbeddedResource>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,9 +13,7 @@ namespace System.Drawing
/// <summary>
/// Defines a particular format for text, including font face, size, and style attributes.
/// </summary>
#if NETCOREAPP
[TypeConverter("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[TypeConverter(typeof(FontConverter))]
[Serializable]
[System.Runtime.CompilerServices.TypeForwardedFrom("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable, ISerializable
Expand DownExpand Up@@ -76,11 +74,13 @@ public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable,
/// Gets the face name of this <see cref='Font'/> .
/// </summary>
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[TypeConverter(typeof(FontConverter.FontNameConverter))]
public string Name => FontFamily.Name;

/// <summary>
/// Gets the unit of measure for this <see cref='Font'/>.
/// </summary>
[TypeConverter(typeof(FontConverter.FontUnitConverter))]
public GraphicsUnit Unit => _fontUnit;

/// <summary>
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Move Font*, Image* and Margins converters to System.Drawing.Common and apply Unit and Name converter by safern · Pull Request #40825 · dotnet/runtime · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 75 additions & 18 deletions src/libraries/System.Drawing.Common/ref/System.Drawing.Common.cs
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,9 +268,7 @@ public enum CopyPixelOperation
Whiteness = 16711778,
CaptureBlt = 1073741824,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter))]
public sealed partial class Font : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Font(System.Drawing.Font prototype, System.Drawing.FontStyle newStyle) { }
Expand DownExpand Up@@ -301,6 +299,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Italic { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontNameConverter))]
public string Name { get { throw null; } }
[System.ComponentModel.BrowsableAttribute(false)]
public string? OriginalFontName { get { throw null; } }
Expand All@@ -315,6 +314,7 @@ public Font(string familyName, float emSize, System.Drawing.GraphicsUnit unit) {
public string SystemFontName { get { throw null; } }
[System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public bool Underline { get { throw null; } }
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.FontConverter.FontUnitConverter))]
public System.Drawing.GraphicsUnit Unit { get { throw null; } }
public object Clone() { throw null; }
public void Dispose() { }
Expand All@@ -334,6 +334,33 @@ public void ToLogFont(object logFont) { }
public void ToLogFont(object logFont, System.Drawing.Graphics graphics) { }
public override string ToString() { throw null; }
}
public partial class FontConverter : System.ComponentModel.TypeConverter
{
public FontConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext context) { throw null; }
public sealed partial class FontNameConverter : System.ComponentModel.TypeConverter, System.IDisposable
{
public FontNameConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
void System.IDisposable.Dispose() { }
}
public partial class FontUnitConverter : System.ComponentModel.EnumConverter
{
public FontUnitConverter() : base (default(System.Type)) { }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
}
public sealed partial class FontFamily : System.MarshalByRefObject, System.IDisposable
{
public FontFamily(System.Drawing.Text.GenericFontFamilies genericFamily) { }
Expand DownExpand Up@@ -629,9 +656,7 @@ public enum GraphicsUnit
Document = 5,
Millimeter = 6,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.IconConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.IconConverter))]
public sealed partial class Icon : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
public Icon(System.Drawing.Icon original, System.Drawing.Size size) { }
Expand DownExpand Up@@ -660,15 +685,21 @@ void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Ser
public System.Drawing.Bitmap ToBitmap() { throw null; }
public override string ToString() { throw null; }
}
public partial class IconConverter : System.ComponentModel.ExpandableObjectConverter
{
public IconConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Type sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Type destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType) { throw null; }
}
public partial interface IDeviceContext : System.IDisposable
{
System.IntPtr GetHdc();
void ReleaseHdc();
}
[System.ComponentModel.ImmutableObjectAttribute(true)]
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageConverter))]
public abstract partial class Image : System.MarshalByRefObject, System.ICloneable, System.IDisposable, System.Runtime.Serialization.ISerializable
{
internal Image() { }
Expand DownExpand Up@@ -742,6 +773,26 @@ public static void StopAnimate(System.Drawing.Image image, System.EventHandler o
public static void UpdateFrames() { }
public static void UpdateFrames(System.Drawing.Image image) { }
}
public partial class ImageConverter : System.ComponentModel.TypeConverter
{
public ImageConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.PropertyDescriptorCollection GetProperties(System.ComponentModel.ITypeDescriptorContext? context, object? value, System.Attribute[]? attributes) { throw null; }
public override bool GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class ImageFormatConverter : System.ComponentModel.TypeConverter
{
public ImageFormatConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public sealed partial class Pen : System.MarshalByRefObject, System.ICloneable, System.IDisposable
{
public Pen(System.Drawing.Brush brush) { }
Expand DownExpand Up@@ -961,7 +1012,7 @@ public void Intersect(System.Drawing.Region region) { }
public bool IsVisible(System.Drawing.Rectangle rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect) { throw null; }
public bool IsVisible(System.Drawing.RectangleF rect, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics g) { throw null; }
public bool IsVisible(int x, int y, System.Drawing.Graphics? g) { throw null; }
Comment thread
safern marked this conversation as resolved.
public bool IsVisible(int x, int y, int width, int height) { throw null; }
public bool IsVisible(int x, int y, int width, int height, System.Drawing.Graphics? g) { throw null; }
public bool IsVisible(float x, float y) { throw null; }
Expand DownExpand Up@@ -2292,9 +2343,7 @@ public enum ImageFlags
ReadOnly = 65536,
Caching = 131072,
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.ImageFormatConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.ImageFormatConverter))]
public sealed partial class ImageFormat
{
public ImageFormat(System.Guid guid) { }
Expand DownExpand Up@@ -2491,9 +2540,7 @@ public InvalidPrinterException(System.Drawing.Printing.PrinterSettings settings)
protected InvalidPrinterException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
}
#if NETCOREAPP
[System.ComponentModel.TypeConverterAttribute("System.Drawing.Printing.MarginsConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[System.ComponentModel.TypeConverterAttribute(typeof(System.Drawing.Printing.MarginsConverter))]
public partial class Margins : System.ICloneable
{
public Margins() { }
Expand All@@ -2505,10 +2552,20 @@ public Margins(int left, int right, int top, int bottom) { }
public object Clone() { throw null; }
public override bool Equals(object? obj) { throw null; }
public override int GetHashCode() { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins m1, System.Drawing.Printing.Margins m2) { throw null; }
public static bool operator ==(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public static bool operator !=(System.Drawing.Printing.Margins? m1, System.Drawing.Printing.Margins? m2) { throw null; }
public override string ToString() { throw null; }
}
public partial class MarginsConverter : System.ComponentModel.ExpandableObjectConverter
{
public MarginsConverter() { }
public override bool CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type? sourceType) { throw null; }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType) { throw null; }
public override object? ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value) { throw null; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
public override object CreateInstance(System.ComponentModel.ITypeDescriptorContext? context, System.Collections.IDictionary propertyValues) { throw null; }
public override bool GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext? context) { throw null; }
}
public partial class PageSettings : System.ICloneable
{
public PageSettings() { }
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -262,6 +262,9 @@
</data>
<data name="InvalidArgumentValue" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'.</value>
</data>
<data name="InvalidArgumentValueFontConverter" xml:space="preserve">
<value>Value of '{0}' is not valid for font size unit.</value>
</data>
<data name="InvalidBoundArgument" xml:space="preserve">
<value>Value of '{1}' is not valid for '{0}'. '{0}' should be greater than {2} and less than or equal to {3}.</value>
Expand DownExpand Up@@ -437,6 +440,9 @@
<data name="NotImplementedUnderX11" xml:space="preserve">
<value>Operation not implemented under X11</value>
</data>
<data name="none" xml:space="preserve">
<value>(none)</value>
</data>
<data name="NoValidIconImageFound" xml:space="preserve">
<value>No valid icon image found</value>
</data>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,7 +25,10 @@
<Compile Include="System\Drawing\GdiplusNative.cs" />
<Compile Include="System\Drawing\Graphics.cs" />
<Compile Include="System\Drawing\GraphicsUnit.cs" />
<Compile Include="System\Drawing\IconConverter.cs" />
<Compile Include="System\Drawing\Image.cs" />
<Compile Include="System\Drawing\ImageConverter.cs" />
<Compile Include="System\Drawing\ImageFormatConverter.cs" />
<Compile Include="System\Drawing\ImageType.cs" />
<Compile Include="System\Drawing\Pen.cs" />
<Compile Include="System\Drawing\Pens.cs" />
Expand DownExpand Up@@ -116,6 +119,7 @@
<Compile Include="System\Drawing\Internal\ISystemEventTracker.cs" />
<Compile Include="System\Drawing\Brush.cs" />
<Compile Include="System\Drawing\Font.cs" />
<Compile Include="System\Drawing\FontConverter.cs" />
<Compile Include="System\Drawing\FontFamily.cs" />
<Compile Include="System\Drawing\SolidBrush.cs" />
<Compile Include="System\Drawing\SystemBrushes.cs" />
Expand All@@ -130,6 +134,7 @@
<Compile Include="System\Drawing\Printing\InvalidPrinterException.cs" />
<Compile Include="System\Drawing\Printing\InvalidPrinterException.Core.cs" />
<Compile Include="System\Drawing\Printing\Margins.cs" />
<Compile Include="System\Drawing\Printing\MarginsConverter.cs" />
<Compile Include="System\Drawing\Printing\PaperKinds.cs" />
<Compile Include="System\Drawing\Printing\PaperSize.cs" />
<Compile Include="System\Drawing\Printing\PaperSource.cs" />
Expand DownExpand Up@@ -158,6 +163,8 @@
Link="Common\Interop\Windows\User32\Interop.LOGFONT.cs" />
<Compile Include="$(CommonPath)Interop\Windows\Gdi32\Interop.RasterOp.cs"
Link="Common\Interop\Windows\Gdi32\Interop.RasterOp.cs" />
<Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs"
Link="Common\System\Text\ValueStringBuilder.cs" />
<EmbeddedResource Include="Resources\System\Drawing\DefaultComponent.bmp">
<LogicalName>System.Drawing.DefaultComponent.bmp</LogicalName>
</EmbeddedResource>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,9 +13,7 @@ namespace System.Drawing
/// <summary>
/// Defines a particular format for text, including font face, size, and style attributes.
/// </summary>
#if NETCOREAPP
[TypeConverter("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
#endif
[TypeConverter(typeof(FontConverter))]
[Serializable]
[System.Runtime.CompilerServices.TypeForwardedFrom("System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable, ISerializable
Expand DownExpand Up@@ -76,11 +74,13 @@ public sealed partial class Font : MarshalByRefObject, ICloneable, IDisposable,
/// Gets the face name of this <see cref='Font'/> .
/// </summary>
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[TypeConverter(typeof(FontConverter.FontNameConverter))]
public string Name => FontFamily.Name;

/// <summary>
/// Gets the unit of measure for this <see cref='Font'/>.
/// </summary>
[TypeConverter(typeof(FontConverter.FontUnitConverter))]
public GraphicsUnit Unit => _fontUnit;

/// <summary>
Expand Down
Loading