@ -14,6 +14,7 @@ using System.Text;
using System.Threading ;
using System.Threading ;
using System.Windows ;
using System.Windows ;
using System.Windows.Controls ;
using System.Windows.Controls ;
using System.Windows.Media ;
using System.Windows.Documents ;
using System.Windows.Documents ;
using System.Windows.Forms ;
using System.Windows.Forms ;
@ -252,6 +253,44 @@ namespace ICSharpCode.SharpDevelop
}
}
#endregion
#endregion
#region DPI independence
public static Rect TransformToDevice ( this Rect rect , Visual visual )
{
Matrix matrix = PresentationSource . FromVisual ( visual ) . CompositionTarget . TransformToDevice ;
return Rect . Transform ( rect , matrix ) ;
}
public static Rect TransformFromDevice ( this Rect rect , Visual visual )
{
Matrix matrix = PresentationSource . FromVisual ( visual ) . CompositionTarget . TransformFromDevice ;
return Rect . Transform ( rect , matrix ) ;
}
public static Size TransformToDevice ( this Size size , Visual visual )
{
Matrix matrix = PresentationSource . FromVisual ( visual ) . CompositionTarget . TransformToDevice ;
return new Size ( size . Width * matrix . M11 , size . Height * matrix . M22 ) ;
}
public static Size TransformFromDevice ( this Size size , Visual visual )
{
Matrix matrix = PresentationSource . FromVisual ( visual ) . CompositionTarget . TransformFromDevice ;
return new Size ( size . Width * matrix . M11 , size . Height * matrix . M22 ) ;
}
public static Point TransformToDevice ( this Point point , Visual visual )
{
Matrix matrix = PresentationSource . FromVisual ( visual ) . CompositionTarget . TransformToDevice ;
return new Point ( point . X * matrix . M11 , point . Y * matrix . M22 ) ;
}
public static Point TransformFromDevice ( this Point point , Visual visual )
{
Matrix matrix = PresentationSource . FromVisual ( visual ) . CompositionTarget . TransformFromDevice ;
return new Point ( point . X * matrix . M11 , point . Y * matrix . M22 ) ;
}
#endregion
public static string Replace ( this string original , string pattern , string replacement , StringComparison comparisonType )
public static string Replace ( this string original , string pattern , string replacement , StringComparison comparisonType )
{
{
if ( original = = null )
if ( original = = null )