Definitions: Mono 1.2.6 (Revised) Date Submitted: 2/26/2008 10:06:04 AM Comments: Looks like most of the problems lie in our 3rd party dependancies. We use the Infragistics controls extensively. Unfortunately, they make a ton of Win32 API calls. I'm really excited about the work you're doing on Silverlight support for Linux. Keep up the good work! ========================================= Pending issues: 1 [TODO] System.Security.CodeAccessPermission::Assert() Details: Imperative mode isn't supported 1 [TODO] System.Windows.Forms.Cursor::set_Current(System.Windows.Forms.Cursor) Details: Implement setting a null cursor, and add XplatUI method to get current cursor 1 [TODO] System.Security.CodeAccessPermission::RevertAssert() Details: Imperative mode isn't supported 1 [TODO] System.Windows.Forms.Cursor::get_Current() Details: Implement setting a null cursor, and add XplatUI method to get current cursor 1 [TODO] System.Security.PermissionSet::Assert() Details: Imperative mode isn't supported 1 [TODO] System.Drawing.Graphics::set_PixelOffsetMode(System.Drawing.Drawing2D.PixelOffsetMode) Details: This property does not do anything when used with libgdiplus. 4 [NIEX] System.Windows.Forms.BindingManagerBase::GetItemProperties() 1 [TODO] System.Environment::get_UserInteractive() Details: Currently always returns false, regardless of interactive state 5 [NIEX] System.Windows.Forms.PropertyGrid::ShowEventsButton(System.Boolean) Details: 5 [NIEX] System.Drawing.Printing.PrinterSettings::CreateMeasurementGraphics() Details: PrinterSettings.CreateMeasurementGraphics 1 [TODO] System.Drawing.Graphics::get_PixelOffsetMode() Details: This property does not do anything when used with libgdiplus. 4 [NIEX] System.Windows.Forms.BindingSource::get_CurrencyManager() 1 [TODO] System.Windows.Forms.WebBrowser::.ctor() Details: Stub, not implemented 1 [TODO] System.Windows.Forms.ErrorProvider::set_DataMember(System.String) Details: 1 [TODO] System.Security.PermissionSet::RevertAssert() Details: (2.0) what's it doing here? There's probably a reason this was added here. 1 [TODO] System.Windows.Forms.WebBrowser::set_DocumentText(System.String) Details: Stub, not implemented 1 [TODO] System.Windows.Forms.ToolStripTextBox::set_AutoCompleteMode(System.Windows.Forms.AutoCompleteMode) Details: AutoCompletion algorithm is currently not implemented. 5 [NIEX] System.Windows.Forms.PropertyGrid/PropertyTabCollection::RemoveTabType(System.Type) Details: 1 [TODO] System.Security.Cryptography.Pkcs.SignedCms::ComputeSignature(System.Security.Cryptography.Pkcs.CmsSigner) Details: 1 [TODO] System.Drawing.Graphics::CopyFromScreen(System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.Size) Details: Works on Win32 and on X11 (but not on Cocoa and Quartz) 1 [TODO] System.Drawing.Drawing2D.GraphicsPath::Widen(System.Drawing.Pen,System.Drawing.Drawing2D.Matrix) Details: GdipWidenPath isn't implemented in libgdiplus 1 [TODO] System.Drawing.Drawing2D.GraphicsPath::Widen(System.Drawing.Pen) Details: GdipWidenPath isn't implemented in libgdiplus 4 [NIEX] System.Windows.Forms.DataGridViewCell::GetErrorText(System.Int32) 1 [TODO] System.Xml.XmlTextReader::ReadBase64(System.Byte[],System.Int32,System.Int32) Details: 4 [NIEX] System.Windows.Forms.DataGridView::GetColumnDisplayRectangle(System.Int32,System.Boolean) 1 [TODO] System.Security.Cryptography.Pkcs.SignedCms::Encode() Details: 4 [NIEX] System.Windows.Forms.DataGridView::EndEdit(System.Windows.Forms.DataGridViewDataErrorContexts) 4 [NIEX] System.Windows.Forms.BindingSource::GetRelatedCurrencyManager(System.String) 1 [TODO] System.Windows.Forms.TextBox::get_AutoCompleteCustomSource() Details: AutoCompletion algorithm is currently not implemented. 1 [TODO] System.Windows.Forms.ToolStripTextBox::get_AutoCompleteMode() Details: AutoCompletion algorithm is currently not implemented. 1 [TODO] System.Windows.Forms.TextBox::get_AutoCompleteMode() Details: AutoCompletion algorithm is currently not implemented. 1 [TODO] System.Windows.Forms.ToolStripTextBox::set_AutoCompleteSource(System.Windows.Forms.AutoCompleteSource) Details: AutoCompletion algorithm is currently not implemented. 1 [TODO] System.Windows.Forms.ToolStripTextBox::set_AutoCompleteCustomSource(System.Windows.Forms.AutoCompleteStringCollection) Details: AutoCompletion algorithm is currently not implemented. 1 [TODO] System.Windows.Forms.TextBox::set_AutoCompleteSource(System.Windows.Forms.AutoCompleteSource) Details: AutoCompletion algorithm is currently not implemented. 1 [TODO] System.Windows.Forms.TextBox::set_AutoCompleteMode(System.Windows.Forms.AutoCompleteMode) Details: AutoCompletion algorithm is currently not implemented. 1 [TODO] System.Windows.Forms.TextBox::set_AutoCompleteCustomSource(System.Windows.Forms.AutoCompleteStringCollection) Details: AutoCompletion algorithm is currently not implemented. 1 [TODO] System.Windows.Forms.RichTextBox::set_ShowSelectionMargin(System.Boolean) Details: 4 [NIEX] System.Windows.Forms.DataGridViewCell::PaintErrorIcon(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.String) 4 [NIEX] System.Windows.Forms.DataGridView::NotifyCurrentCellDirty(System.Boolean) 4 [NIEX] System.Windows.Forms.BindingSource::SuspendBinding() 4 [NIEX] System.Windows.Forms.BindingSource::set_Sort(System.String) 4 [NIEX] System.Windows.Forms.BindingSource::ResumeBinding() 4 [NIEX] System.Windows.Forms.BindingSource::Clear() 1 [TODO] System.Net.Security.SslStream::.ctor(System.IO.Stream,System.Boolean,System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.LocalCertificateSelectionCallback) Details: certValidationCallback is not passed X509Chain and SslPolicyErrors correctly 1 [TODO] System.Drawing.TextureBrush::.ctor(System.Drawing.Image,System.Drawing.Rectangle,System.Drawing.Imaging.ImageAttributes) Details: ImageAttributes are ignored when using libgdiplus 1 [TODO] System.Drawing.Imaging.ImageAttributes::SetThreshold(System.Single) Details: Not supported by libgdiplus 1 [TODO] System.Drawing.Graphics::CopyFromScreen(System.Drawing.Point,System.Drawing.Point,System.Drawing.Size) Details: Works on Win32 and on X11 (but not on Cocoa and Quartz) 1 [TODO] System.Drawing.Drawing2D.GraphicsPath::AddString(System.String,System.Drawing.FontFamily,System.Int32,System.Single,System.Drawing.RectangleF,System.Drawing.StringFormat) Details: The layoutRect and StringFormat parameters are ignored when using libgdiplus. 1 [TODO] System.Drawing.Drawing2D.GraphicsPath::AddString(System.String,System.Drawing.FontFamily,System.Int32,System.Single,System.Drawing.PointF,System.Drawing.StringFormat) Details: The StringFormat parameter is ignored when using libgdiplus. 1 [TODO] System.Net.CredentialCache::get_DefaultCredentials() Details: Need EnvironmentPermission implementation first 4 [NIEX] System.Windows.Forms.BindingSource::Add(System.Object) 4 [NIEX] System.Windows.Forms.DataGridViewCell::GetPreferredSize(System.Drawing.Graphics,System.Windows.Forms.DataGridViewCellStyle,System.Int32,System.Drawing.Size) 2 [MISS] System.Windows.Forms.Form::get_RestoreBounds() 4 [NIEX] System.Windows.Forms.DataGridView::GetRowDisplayRectangle(System.Int32,System.Boolean) 1 [TODO] System.Drawing.Image::FromStream(System.IO.Stream,System.Boolean) Details: useECM isn't supported. 4 [NIEX] System.Windows.Forms.DataGridViewCell::KeyEntersEditMode(System.Windows.Forms.KeyEventArgs) **************************************************** P/Invokes made by this program Library: AdvAPI32.DLL bool GetFileSecurity(string, SecurityInformation, IntPtr, int, Int32&) bool GetSecurityDescriptorDacl(IntPtr, Boolean&, IntPtr&, Boolean&) bool LookupAccountName(IntPtr, string, IntPtr, Int32&, StringBuilder, Int32&, SID_NAME_USE&) int GetEffectiveRightsFromAcl(IntPtr, TRUSTEE2&, UInt32&) Library: comctl32 int DllGetVersion(NativeWindowMethods/DLLVERSIONINFO&) Library: comctl32.dll bool InitCommonControls(NativeWindowMethods/INITCommonControls) int DllGetVersion(ListViewSortManager/DLLVERSIONINFO&) int LBItemFromPt(IntPtr, NativeWindowMethods/POINT, bool) Library: dwmapi.dll int DwmDefWindowProc(IntPtr, uint, IntPtr, IntPtr, Int32&) int DwmExtendFrameIntoClientArea(IntPtr, NativeWindowMethods/MARGINS&) int DwmGetWindowAttribute(IntPtr, uint, NativeWindowMethods/RECT&, uint) int DwmIsCompositionEnabled(Boolean&) Library: gdi32 bool BitBlt(IntPtr, int, int, int, int, IntPtr, int, int, int) bool DeleteDC(IntPtr) bool DeleteObject(IntPtr) bool SetViewportOrgEx(IntPtr, int, int, NativeWindowMethods/POINT&) int DeleteObject(IntPtr) int GetBitmap(IntPtr, int, XPThemes/NativeWindowMethods/BITMAP&) int GetDeviceCaps(IntPtr, int) int GetDIBits(IntPtr, HandleRef, uint, uint, IntPtr, NativeWindowMethods/BitmapInfoFlat&, uint) int GetRgnBox(IntPtr, NativeWindowMethods/RECT&) int SelectClipRgn(IntPtr, IntPtr) IntPtr CreateBitmap(int, int, int, int, Int16[]) IntPtr CreateCompatibleBitmap(IntPtr, int, int) IntPtr CreateCompatibleDC(IntPtr) IntPtr CreateDIBSection(IntPtr, NativeWindowMethods/BitmapInfoFlat&, uint, IntPtr&, IntPtr, uint) IntPtr CreatePatternBrush(IntPtr) IntPtr GetStockObject(int) IntPtr SelectObject(IntPtr, IntPtr) Library: gdi32.dll bool DeleteObject(IntPtr) bool GetTextMetrics(HandleRef, NativeWindowMethods/TextMetric) int DeleteObject(IntPtr) int ExcludeClipRect(IntPtr, int, int, int, int) int IntersectClipRect(IntPtr, int, int, int, int) int PatBlt(IntPtr, int, int, int, int, int) int RestoreDC(IntPtr, int) int SaveDC(IntPtr) IntPtr SelectObject(HandleRef, HandleRef) IntPtr SelectObject(IntPtr, IntPtr) uint GetFontData(IntPtr, uint, uint, Byte[], uint) Library: Gdi32.dll int BitBlt(IntPtr, int, int, int, int, IntPtr, int, int, uint) int DeleteObject(IntPtr) int GetClipRgn(IntPtr, IntPtr) int SelectClipRgn(IntPtr, IntPtr) IntPtr CreateCompatibleBitmap(IntPtr, int, int) IntPtr CreateCompatibleDC(IntPtr) IntPtr SelectObject(IntPtr, IntPtr) Library: GDI32.dll bool DeleteObject(IntPtr) int SetBkMode(IntPtr, int) int SetTextColor(IntPtr, int) Library: imm32.dll IntPtr ImmGetContext(IntPtr) IntPtr ImmGetDefaultIMEWnd(IntPtr) IntPtr ImmReleaseContext(IntPtr, IntPtr) IntPtr ImmSetCompositionFont(IntPtr, IntPtr) IntPtr ImmSetCompositionWindow(IntPtr, IntPtr) Library: kernel32 bool FreeLibrary(IntPtr) int FreeLibrary(IntPtr) int GetCurrentThreadId() int GetLocaleInfo(int, int, string, int) int SizeofResource(IntPtr, IntPtr) IntPtr FindResource(IntPtr, IntPtr, string) IntPtr GetModuleHandle(string) IntPtr GetProcAddress(IntPtr, string) IntPtr LoadLibraryEx(string, IntPtr, int) IntPtr LoadResource(IntPtr, IntPtr) Library: kernel32.dll bool FreeLibrary(IntPtr) IntPtr GetModuleHandle(string) IntPtr LoadLibrary(string) UIntPtr GetProcAddress(IntPtr, string) Library: Kernel32.dll int GetCurrentThreadId() Library: KERNEL32.DLL int GetPrivateProfileInt(string, string, int, string) int GetPrivateProfileSectionNames(Byte[], int, string) int GetPrivateProfileString(string, string, string, StringBuilder, int, string) int WritePrivateProfileSection(string, string, string) int WritePrivateProfileString(string, string, string, string) Library: msimg32 bool AlphaBlend(IntPtr, int, int, int, int, IntPtr, int, int, int, int, int) Library: Shell32.dll IntPtr SHGetFileInfo(string, int, ShellUtilities/SHFILEINFO&, uint, uint) Library: user32 bool DestroyMenu(IntPtr) bool EndPaint(IntPtr, NativeWindowMethods/PAINTSTRUCT&) bool GetMenuItemInfo(IntPtr, uint, bool, NativeWindowMethods/MENUITEMINFO&) bool GetMenuItemRect(IntPtr, IntPtr, int, NativeWindowMethods/RECT&) bool GetWindowInfo(IntPtr, NativeWindowMethods/WINDOWINFO&) bool InvalidateRect(IntPtr, IntPtr, bool) bool IsWindow(HandleRef) bool IsWindow(IntPtr) bool IsWindowVisible(IntPtr) bool RedrawWindow(IntPtr, IntPtr, IntPtr, uint) bool RedrawWindow(IntPtr, NativeWindowMethods/RECT&, IntPtr, uint) bool SetCursorPos(int, int) bool SetForegroundWindow(IntPtr) bool SetMenu(IntPtr, IntPtr) bool SetMenuInfo(IntPtr, NativeWindowMethods/MENUINFO&) bool SetWindowPos(IntPtr, IntPtr, int, int, int, int, int) bool SetWindowPos(IntPtr, IntPtr, int, int, int, int, NativeWindowMethods/SetWindowPosEnum) bool ShowWindow(IntPtr, int) bool UnhookWindowsHookEx(IntPtr) int CreateCaret(IntPtr, IntPtr, int, int) int DestroyCaret() int GetIconInfo(IntPtr, NativeWindowMethods/ICONINFO&) int GetMenuItemCount(IntPtr) int GetMenuString(IntPtr, uint, IntPtr, int, int) int GetSysColor(int) int GetWindowLong(IntPtr, int) int HideCaret(IntPtr) int MapWindowPoints(IntPtr, IntPtr, NativeWindowMethods/POINT&, int) int MenuItemFromPoint(IntPtr, IntPtr, NativeWindowMethods/POINT) int PostMessage(HandleRef, int, IntPtr, IntPtr) int ReleaseDC(IntPtr, IntPtr) int ScrollWindowEx(IntPtr, int, int, NativeWindowMethods/RECT&, NativeWindowMethods/RECT&, IntPtr, NativeWindowMethods/RECT&, int) int SetCaretPos(int, int) int SetWindowLong(IntPtr, int, int) int ShowCaret(IntPtr) Int16 GetKeyState(int) IntPtr BeginPaint(IntPtr, NativeWindowMethods/PAINTSTRUCT&) IntPtr CallNextHookEx(IntPtr, int, IntPtr, IntPtr) IntPtr ChildWindowFromPointEx(IntPtr, int, int, int) IntPtr GetDC(IntPtr) IntPtr GetDCEx(IntPtr, IntPtr, int) IntPtr GetDCEx(IntPtr, IntPtr, uint) IntPtr GetDesktopWindow() IntPtr GetFocus() IntPtr GetForegroundWindow() IntPtr GetMenu(IntPtr) IntPtr GetParent(IntPtr) IntPtr GetSystemMenu(IntPtr, bool) IntPtr GetWindow(IntPtr, int) IntPtr GetWindowDC(IntPtr) IntPtr SendMessage(IntPtr, int, int, IntPtr) IntPtr SendMessage(IntPtr, int, IntPtr, IntPtr) IntPtr SendMessage(IntPtr, int, IntPtr, NativeWindowMethods/POINT&) IntPtr SendMessage(IntPtr, int, IntPtr, string) IntPtr SendMessage(IntPtr, int, NativeWindowMethods/GETTEXTEX&, StringBuilder) IntPtr SendMessage(IntPtr, int, NativeWindowMethods/GETTEXTLENGTHEX&, IntPtr) IntPtr SendMessage(IntPtr, int, NativeWindowMethods/POINT&, IntPtr) IntPtr SendMessage2(IntPtr, int, IntPtr, ListViewSortManager/HDITEM&) IntPtr SendMessageTimeout(HandleRef, int, IntPtr, IntPtr, int, int, IntPtr&) IntPtr SetCapture(IntPtr) IntPtr SetFocus(IntPtr) IntPtr SetWindowsHookEx(int, KeyboardHookManager/HookProcCallback, IntPtr, int) IntPtr SetWindowsHookEx(int, NativeWindowMethods/HookProc, IntPtr, int) IntPtr SetWindowsHookEx(int, NativeWindowMethods/HookProcCallback, IntPtr, int) IntPtr WindowFromPoint(NativeWindowMethods/POINT) Library: User32 bool UpdateLayeredWindow(IntPtr, IntPtr, NativeWindowMethods/POINT&, NativeWindowMethods/SIZE&, IntPtr, NativeWindowMethods/POINT&, int, NativeWindowMethods/BLENDFUNCTION&, int) int DestroyCursor(IntPtr) int IsWindowVisible(IntPtr) IntPtr LoadCursorFromFile(string) WindowFlasher/BOOL FlashWindowEx(WindowFlasher/FLASHINFO&) Library: user32.dll bool AdjustWindowRectEx(NativeWindowMethods/RECT&, int, bool, int) bool AdjustWindowRectEx(NativeWindowMethods/RECT&, NativeWindowMethods/WindowStyle, bool, NativeWindowMethods/WindowStyleEx) bool GetClientRect(HandleRef, NativeWindowMethods/RECT&) bool GetWindowPlacement(IntPtr, NativeWindowMethods/WINDOWPLACEMENT&) bool GetWindowRect(IntPtr, NativeWindowMethods/RECT&) bool MessageBeep(int) bool RedrawWindow(HandleRef, l/a, HandleRef, int) bool ShowWindow(IntPtr, int) bool SystemParametersInfo(uint, uint, NativeWindowMethods/NONCLIENTMETRICS&, uint) bool SystemParametersInfo(uint, uint, UInt32&, uint) int CallNextHookEx(IntPtr, int, IntPtr, IntPtr) int GetCaretBlinkTime() int GetClassName(IntPtr, StringBuilder, int) int GetKeyboardState(Byte[]) int GetKeyNameText(int, StringBuilder, int) int GetMenuString(IntPtr, uint, StringBuilder, int, uint) int GetSysColor(int) int GetWindowText(IntPtr, StringBuilder, int) int MapVirtualKey(uint, uint) int ReleaseDC(IntPtr, IntPtr) int ShowWindow(IntPtr, int) int ToAscii(int, int, Byte[], StringBuilder, uint) int UnhookWindowsHookEx(IntPtr) Int16 GetAsyncKeyState(int) Int16 GetKeyState(int) IntPtr GetDC(IntPtr) IntPtr GetDCEx(IntPtr, IntPtr, int) IntPtr GetForegroundWindow() IntPtr GetParent(IntPtr) IntPtr GetWindowLong32(IntPtr, int) IntPtr GetWindowLongPtr64(IntPtr, int) IntPtr LoadImage(IntPtr, string, XPThemes/NativeWindowMethods/ResourceImageType, int, int, XPThemes/NativeWindowMethods/LoadImageOptions) IntPtr SendMessage(HandleRef, int, IntPtr, IntPtr) IntPtr SendMessage(IntPtr, int, IntPtr, IntPtr) IntPtr SetFocus(IntPtr) IntPtr SetWindowLong(HandleRef, int, HandleRef) IntPtr SetWindowLong32(IntPtr, int, IntPtr) IntPtr SetWindowLongPtr64(IntPtr, int, IntPtr) IntPtr SetWindowsHookEx(HookType, LocalWindowsHook/HookProc, IntPtr, int) IntPtr WindowFromPoint(NativeWindowMethods/POINT) Library: User32.dll bool UnhookWindowsHookEx(IntPtr) int PostMessage(IntPtr, uint, IntPtr, IntPtr) int ReleaseDC(IntPtr, IntPtr) int SendMessage(IntPtr, uint, IntPtr, IntPtr) Int16 GetAsyncKeyState(int) IntPtr CallNextHookEx(IntPtr, int, IntPtr, IntPtr) IntPtr GetDC(IntPtr) IntPtr PostMessage(IntPtr, int, IntPtr, IntPtr) IntPtr SendMessage(IntPtr, int, IntPtr, RichTextBoxScrollSyncHandler/POINT&) IntPtr SetWindowsHookEx(int, HookBase/a, IntPtr, int) uint MapVirtualKey(uint, uint) void a(IntPtr, StringBuilder, int, l/a, int) Library: uxtheme.dll int CloseThemeData(IntPtr) int DrawThemeBackground(IntPtr, IntPtr, int, int, XPThemes/NativeWindowMethods/RECT&, XPThemes/NativeWindowMethods/RECT&) int DrawThemeEdge(IntPtr, IntPtr, int, int, XPThemes/NativeWindowMethods/RECT&, uint, uint, XPThemes/NativeWindowMethods/RECT&) int DrawThemeText(IntPtr, IntPtr, int, int, string, int, int, int, XPThemes/NativeWindowMethods/RECT&) int DrawThemeTextEx(IntPtr, IntPtr, int, int, string, int, uint, NativeWindowMethods/RECT&, NativeWindowMethods/DTTOPTS&) int GetCurrentThemeName(StringBuilder, int, StringBuilder, int, StringBuilder, int) int GetThemeAppProperties() int GetThemeBackgroundContentRect(IntPtr, IntPtr, int, int, XPThemes/NativeWindowMethods/RECT&, XPThemes/NativeWindowMethods/RECT&) int GetThemeBackgroundExtent(IntPtr, IntPtr, int, int, XPThemes/NativeWindowMethods/RECT&, XPThemes/NativeWindowMethods/RECT&) int GetThemeColor(IntPtr, int, int, int, Int32&) int GetThemePartSize(IntPtr, IntPtr, int, int, IntPtr, XPThemes/NativeWindowMethods/ThemeSize, XPThemes/NativeWindowMethods/SIZE&) int GetThemeSysColor(IntPtr, int) int GetThemeTextExtent(IntPtr, IntPtr, int, int, string, int, int, NativeWindowMethods/RECT&, NativeWindowMethods/RECT&) int IsAppThemed() int IsThemeActive() IntPtr OpenThemeData(IntPtr, string) void SetThemeAppProperties(int) Library: UxTheme.dll bool CloseThemeData(IntPtr) bool DrawThemeBackground(IntPtr, IntPtr, int, int, l/e&, l/e&) bool GetThemeBackgroundRegion(IntPtr, IntPtr, int, int, l/e&, IntPtr&) bool IsAppThemed() bool IsThemeActive() int GetThemeAppProperties() int GetThemePartSize(IntPtr, IntPtr, int, int, l/e&, int, l/c&) IntPtr GetThemeColor(IntPtr, int, int, int, Int32&) IntPtr OpenThemeData(IntPtr, string) void GetCurrentThemeName(StringBuilder, int, StringBuilder, int, StringBuilder, int) Library: winmm int PlaySoundW(StringBuilder, IntPtr, int) **************************************************** Methods that have been implemented: System.Drawing.Pen::set_Alignment(System.Drawing.Drawing2D.PenAlignment)