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
- SharedStatics.cs
- DataGridToolTip.cs
- PropertyTabChangedEvent.cs
- ConversionContext.cs
- UIElementParaClient.cs
- RequestFactory.cs
- _HeaderInfoTable.cs
- ComponentDispatcher.cs
- Operators.cs
- HttpListenerPrefixCollection.cs
- SqlRewriteScalarSubqueries.cs
- ThicknessAnimation.cs
- DefaultAsyncDataDispatcher.cs
- BooleanKeyFrameCollection.cs
- JsonEncodingStreamWrapper.cs
- RSAOAEPKeyExchangeFormatter.cs
- ClientTargetCollection.cs
- PolyQuadraticBezierSegment.cs
- StatusBar.cs
- ContentElement.cs
- SystemUdpStatistics.cs
- NamedPipeTransportSecurity.cs
- DecoderNLS.cs
- SystemIcmpV4Statistics.cs
- SQLInt64.cs
- PathStreamGeometryContext.cs
- ControlPropertyNameConverter.cs
- GradientStopCollection.cs
- _Events.cs
- ObjectSecurity.cs
- TypeBinaryExpression.cs
- SettingsAttributeDictionary.cs
- DiscoveryClientElement.cs
- ImageButton.cs
- CLSCompliantAttribute.cs
- HttpModuleActionCollection.cs
- ReflectPropertyDescriptor.cs
- PartialToken.cs
- DynamicMethod.cs
- RightsManagementEncryptionTransform.cs
- SmtpAuthenticationManager.cs
- MultiView.cs
- BrowserCapabilitiesFactory.cs
- UIServiceHelper.cs
- TextBounds.cs
- XmlSchemaAnnotated.cs
- TypeToken.cs
- ImageSource.cs
- CrossAppDomainChannel.cs
- ToolstripProfessionalRenderer.cs
- AutomationProperty.cs
- InfoCardSymmetricCrypto.cs
- BaseComponentEditor.cs
- RepeatButton.cs
- SyndicationContent.cs
- RowSpanVector.cs
- IUnknownConstantAttribute.cs
- FixedHighlight.cs
- XmlWriter.cs
- PartialList.cs
- XmlNamespaceMapping.cs
- PersianCalendar.cs
- MachineKeyConverter.cs
- ThreadSafeList.cs
- DependencyPropertyValueSerializer.cs
- InvalidCommandTreeException.cs
- DefaultShape.cs
- XmlWriterTraceListener.cs
- Model3D.cs
- ExpressionTable.cs
- CustomError.cs
- InternalCache.cs
- DataTableReader.cs
- TableStyle.cs
- FormViewInsertedEventArgs.cs
- OdbcDataAdapter.cs
- PrintEvent.cs
- ObservableCollection.cs
- SurrogateEncoder.cs
- IResourceProvider.cs
- SqlMetaData.cs
- DataGridBoolColumn.cs
- MessageQueueConverter.cs
- XmlAttributeCollection.cs
- TryExpression.cs
- WorkflowDesignerColors.cs
- CryptoHelper.cs
- ErrorHandlingReceiver.cs
- DataBoundControl.cs
- ServicesUtilities.cs
- DynamicQueryableWrapper.cs
- CodeGenerator.cs
- DiscoveryDocument.cs
- XmlSigningNodeWriter.cs
- HtmlElement.cs
- SqlCommandBuilder.cs
- ListBox.cs
- ObjectDataSourceFilteringEventArgs.cs
- XdrBuilder.cs
- oledbmetadatacolumnnames.cs