Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / MS / Internal / Controls / ActiveXHelper.cs / 1 / ActiveXHelper.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // // // // Description: // Helper functions for ActiveX hosting // // Source copied from axhosthelper.cs // // // History // 04/17/05 [....] Created // //----------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Specialized; using System.Runtime.InteropServices; using System.Security; using MS.Win32; namespace MS.Internal.Controls { // // This class contains static properties/methods that are internal. // It also has types that make sense only for ActiveX hosting classes. // In other words, this is a helper class for the ActiveX hosting classes. // internal class ActiveXHelper { // // Types: // // // Enumeration of the different states of the ActiveX control public enum ActiveXState { Passive = 0, // Not loaded Loaded = 1, // Loaded, but no server [ocx created] Running = 2, // Server running, invisible [depersisted] InPlaceActive = 4, // Server in-place active [visible] UIActive = 8, // Server is UI active [ready to accept input] Open = 16 // Server is opened for editing [not used] } // // Static members: // // // BitVector32 masks for various internal state flags. public static readonly int sinkAttached = BitVector32.CreateMask(); public static readonly int inTransition = BitVector32.CreateMask(sinkAttached); public static readonly int processingKeyUp = BitVector32.CreateMask(inTransition); //[[....]]These are from Winforms code. These transforms were not working correctly //I used Avalon sizes but leaving these in here since they are used in TransformCoordinates //in ActiveXSite. It doesn't seem to be invoked by WebBrowser control // // Gets the LOGPIXELSX of the screen DC. private static int logPixelsX = -1; private static int logPixelsY = -1; private const int HMperInch = 2540; // Prevent compiler from generating public CTOR private ActiveXHelper() { } // // Static helper methods: // public static int Pix2HM(int pix, int logP) { return (HMperInch * pix + (logP >> 1)) / logP; } public static int HM2Pix(int hm, int logP) { return (logP * hm + HMperInch / 2) / HMperInch; } // // We cache LOGPIXELSX for optimization ////// Critical: This code calls critical code. /// TreatAsSafe: This information is safe to expose. /// public static int LogPixelsX { [SecurityCritical, SecurityTreatAsSafe] get { if (logPixelsX == -1) { IntPtr hDC = UnsafeNativeMethods.GetDC(NativeMethods.NullHandleRef); if (hDC != IntPtr.Zero) { logPixelsX = UnsafeNativeMethods.GetDeviceCaps(new HandleRef(null, hDC), NativeMethods.LOGPIXELSX); UnsafeNativeMethods.ReleaseDC(NativeMethods.NullHandleRef, new HandleRef(null, hDC)); } } return logPixelsX; } } public static void ResetLogPixelsX() { logPixelsX = -1; } // // We cache LOGPIXELSY for optimization ////// Critical: This code calls critical code. /// TreatAsSafe: This information is safe to expose. /// public static int LogPixelsY { [SecurityCritical, SecurityTreatAsSafe] get { if (logPixelsY == -1) { IntPtr hDC = UnsafeNativeMethods.GetDC(NativeMethods.NullHandleRef); if (hDC != IntPtr.Zero) { logPixelsY = UnsafeNativeMethods.GetDeviceCaps(new HandleRef(null, hDC), NativeMethods.LOGPIXELSY); UnsafeNativeMethods.ReleaseDC(NativeMethods.NullHandleRef, new HandleRef(null, hDC)); } } return logPixelsY; } } public static void ResetLogPixelsY() { logPixelsY = -1; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- IdentitySection.cs
- OutputWindow.cs
- ConfigurationErrorsException.cs
- TdsEnums.cs
- DbDataSourceEnumerator.cs
- NonBatchDirectoryCompiler.cs
- ColorContextHelper.cs
- updateconfighost.cs
- BamlBinaryReader.cs
- WindowsPen.cs
- FastEncoder.cs
- InternalControlCollection.cs
- IdnElement.cs
- ToolStripSeparatorRenderEventArgs.cs
- FontCacheLogic.cs
- EndpointNameMessageFilter.cs
- LogSwitch.cs
- UniqueID.cs
- EarlyBoundInfo.cs
- OneOfTypeConst.cs
- StringUtil.cs
- NameValueFileSectionHandler.cs
- KnownIds.cs
- SettingsPropertyValueCollection.cs
- ResponseBodyWriter.cs
- DecoderReplacementFallback.cs
- ServiceNotStartedException.cs
- HuffModule.cs
- EncoderParameter.cs
- StylusPointPropertyUnit.cs
- Style.cs
- CellConstantDomain.cs
- DataControlFieldCollection.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ScriptingAuthenticationServiceSection.cs
- AudioSignalProblemOccurredEventArgs.cs
- BreakSafeBase.cs
- SqlGenerator.cs
- GroupItemAutomationPeer.cs
- DSASignatureDeformatter.cs
- AudioDeviceOut.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- HtmlElementCollection.cs
- RoleGroupCollection.cs
- SafeNativeMethodsOther.cs
- RelationalExpressions.cs
- XmlEnumAttribute.cs
- SemaphoreSlim.cs
- StrokeNodeData.cs
- BypassElement.cs
- StylusPoint.cs
- DateTimeFormatInfoScanner.cs
- GridPattern.cs
- IgnoreSectionHandler.cs
- RuntimeConfigLKG.cs
- ServiceElement.cs
- ArithmeticLiteral.cs
- MarkupCompilePass1.cs
- XslVisitor.cs
- ApplicationServiceManager.cs
- EntityDataSourceUtil.cs
- BaseCodeDomTreeGenerator.cs
- ACE.cs
- SqlXml.cs
- TargetConverter.cs
- WebProxyScriptElement.cs
- SqlPersonalizationProvider.cs
- Part.cs
- DocumentGrid.cs
- _SafeNetHandles.cs
- VersionPair.cs
- designeractionbehavior.cs
- AdobeCFFWrapper.cs
- XmlWriterTraceListener.cs
- HScrollBar.cs
- HandlerBase.cs
- ExceptionRoutedEventArgs.cs
- JsonFormatWriterGenerator.cs
- MethodMessage.cs
- BitmapEffectGroup.cs
- SubMenuStyle.cs
- XmlReader.cs
- UTF7Encoding.cs
- Triplet.cs
- RunClient.cs
- cryptoapiTransform.cs
- CultureInfoConverter.cs
- DataMisalignedException.cs
- ControlAdapter.cs
- PlaceHolder.cs
- MonthChangedEventArgs.cs
- Events.cs
- SecurityHeaderElementInferenceEngine.cs
- Mouse.cs
- SqlConnection.cs
- StreamResourceInfo.cs
- BookmarkInfo.cs
- Int16Animation.cs
- Permission.cs
- Stream.cs