aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/SideChains/RealTimeGraphEx/WriteableBitmap/NativeMethods.cs
blob: 59b2b7bcc2b24b8481dde66515685031de431019 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Runtime;
using System.Runtime.InteropServices;

namespace System.Windows.Media.Imaging
{
    internal static class NativeMethods
    {
        [TargetedPatchingOptOut("Internal method only, inlined across NGen boundaries for performance reasons")]
        internal static unsafe void CopyUnmanagedMemory(byte* srcPtr, int srcOffset, byte* dstPtr, int dstOffset, int count)
        {
            srcPtr += srcOffset;
            dstPtr += dstOffset;

            memcpy(dstPtr, srcPtr, count);
        }

        [TargetedPatchingOptOut("Internal method only, inlined across NGen boundaries for performance reasons")]
        internal static void SetUnmanagedMemory(IntPtr dst, int filler, int count)
        {
            memset(dst, filler, count);
        }

        // Win32 memory copy function
        //[DllImport("ntdll.dll")]
        [DllImport("msvcrt.dll", EntryPoint = "memcpy", CallingConvention = CallingConvention.Cdecl, SetLastError = false)]
        private static extern unsafe byte* memcpy(
            byte* dst,
            byte* src,
            int count);
        
        // Win32 memory set function
        //[DllImport("ntdll.dll")]
        //[DllImport("coredll.dll", EntryPoint = "memset", SetLastError = false)]
        [DllImport("msvcrt.dll", EntryPoint = "memset", CallingConvention = CallingConvention.Cdecl, SetLastError = false)]
        private static extern void memset(
            IntPtr dst,
            int filler,
            int count);
    }
}
>(30, 200), rnd.Next(30, 200)); Icon = PackIconKind.Table; if (header.Length < 5) { header = header.ToUpper(); } Header = header; View = view; View.MaxWidth = 1500; View.MaxHeight = 800; if (action != null) { AddCommand = new RelayCommand(action); } else { AddCommand = new RelayCommand(() => { if (!ViewsManager.DisplayedViews.Contains(this)) { ViewsManager.DisplayedViews.Add(this); View.BringIntoView(); View.Focus(); } else { View.BringIntoView(); View.Focus(); } }); } } /// <summary> /// Initializes a new instance of the <see cref="RegisteredView"/> class. /// </summary> /// <param name="header">The header.</param> /// <param name="view">The view.</param> public RegisteredView(String header, FrameworkElement view) : this(header, view, null) { if (header.Length < 5) { header = header.ToUpper(); } view.MaxWidth = 1500; view.MaxHeight = 800; Header = header; View = view; } /// <summary> /// Returns a <see cref="System.String" /> that represents this instance. /// </summary> /// <returns> /// A <see cref="System.String" /> that represents this instance. /// </returns> public override string ToString() { return Header; } } }