Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / Layout / LayoutEngine.cs / 1305376 / LayoutEngine.cs
//#define LAYOUT_PERFWATCH //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.Layout { using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.Drawing; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Security.Permissions; ///public abstract class LayoutEngine { internal IArrangedElement CastToArrangedElement(object obj) { IArrangedElement element = obj as IArrangedElement; if(obj == null) { throw new NotSupportedException(SR.GetString(SR.LayoutEngineUnsupportedType, obj.GetType())); } return element; } internal virtual Size GetPreferredSize(IArrangedElement container, Size proposedConstraints) { return Size.Empty; } /// [System.Runtime.TargetedPatchingOptOutAttribute("Performance critical to inline across NGen image boundaries")] public virtual void InitLayout(object child, BoundsSpecified specified) { InitLayoutCore(CastToArrangedElement(child), specified); } internal virtual void InitLayoutCore(IArrangedElement element, BoundsSpecified bounds) {} internal virtual void ProcessSuspendedLayoutEventArgs(IArrangedElement container, LayoutEventArgs args) {} #if LAYOUT_PERFWATCH private static int LayoutWatch = 100; #endif /// [SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers")] public virtual bool Layout(object container, LayoutEventArgs layoutEventArgs) { #if LAYOUT_PERFWATCH Debug.WriteLine(container.GetType().Name + "::Layout(" + (layoutEventArgs.AffectedControl != null ? layoutEventArgs.AffectedControl.Name : "null") + ", " + layoutEventArgs.AffectedProperty + ")"); Debug.Indent(); Stopwatch sw = new Stopwatch(); sw.Start(); #endif bool parentNeedsLayout = LayoutCore(CastToArrangedElement(container), layoutEventArgs); #if LAYOUT_PERFWATCH sw.Stop(); if (sw.ElapsedMilliseconds > LayoutWatch && Debugger.IsAttached) { Debugger.Break(); } Debug.Unindent(); Debug.WriteLine(container.GetType().Name + "::Layout elapsed " + sw.ElapsedMilliseconds.ToString() + " returned: " + parentNeedsLayout); #endif return parentNeedsLayout; } internal virtual bool LayoutCore(IArrangedElement container, LayoutEventArgs layoutEventArgs) { return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- JapaneseCalendar.cs
- PKCS1MaskGenerationMethod.cs
- ComponentChangingEvent.cs
- RoleManagerEventArgs.cs
- RtfFormatStack.cs
- ValidationError.cs
- FieldMetadata.cs
- SmtpReplyReader.cs
- Propagator.Evaluator.cs
- ImageCodecInfoPrivate.cs
- HttpResponse.cs
- WindowsScrollBarBits.cs
- XmlSchemaAny.cs
- DesignerProperties.cs
- PathParser.cs
- WebPartConnection.cs
- CacheRequest.cs
- TransformCollection.cs
- AssertHelper.cs
- CompositeActivityCodeGenerator.cs
- SmiRecordBuffer.cs
- TextMetrics.cs
- FamilyMap.cs
- DictionaryManager.cs
- ResourcesGenerator.cs
- PageCanvasSize.cs
- Stylesheet.cs
- HwndMouseInputProvider.cs
- ResXResourceWriter.cs
- InitializeCorrelation.cs
- TreeBuilderBamlTranslator.cs
- AssemblyBuilderData.cs
- Tile.cs
- HtmlSelect.cs
- HierarchicalDataBoundControl.cs
- DuplexSecurityProtocolFactory.cs
- XmlSchemaInfo.cs
- BCLDebug.cs
- RowToFieldTransformer.cs
- TextDpi.cs
- SoapFaultCodes.cs
- CodeBlockBuilder.cs
- TrackingMemoryStreamFactory.cs
- ContainerParaClient.cs
- RectAnimation.cs
- DBNull.cs
- Invariant.cs
- DeviceContexts.cs
- DefaultTextStoreTextComposition.cs
- MetadataLocation.cs
- DesignerGeometryHelper.cs
- WinFormsUtils.cs
- TagMapInfo.cs
- SoapSchemaImporter.cs
- DecoderBestFitFallback.cs
- PhoneCallDesigner.cs
- OleDbDataReader.cs
- IncrementalReadDecoders.cs
- XmlSchemaSimpleType.cs
- ThreadAbortException.cs
- AsyncOperation.cs
- BitConverter.cs
- IPPacketInformation.cs
- ImageListImageEditor.cs
- BigInt.cs
- TableLayout.cs
- MemoryRecordBuffer.cs
- HttpResponseInternalBase.cs
- CollectionViewGroupInternal.cs
- PanelStyle.cs
- SecurityPolicySection.cs
- RemoteWebConfigurationHostServer.cs
- ImportedNamespaceContextItem.cs
- GridViewAutomationPeer.cs
- ScrollPattern.cs
- ProtocolViolationException.cs
- FileDialogCustomPlacesCollection.cs
- GeometryConverter.cs
- DynamicILGenerator.cs
- FocusManager.cs
- PermissionSet.cs
- M3DUtil.cs
- MethodExpr.cs
- LookupNode.cs
- SendMailErrorEventArgs.cs
- ComponentGuaranteesAttribute.cs
- DesignerVerb.cs
- IpcServerChannel.cs
- DataControlCommands.cs
- Int32Rect.cs
- CompilationUtil.cs
- InstalledFontCollection.cs
- UTF32Encoding.cs
- ThemeInfoAttribute.cs
- KeyPressEvent.cs
- SiteMapSection.cs
- SystemResources.cs
- InlineUIContainer.cs
- TrustLevelCollection.cs
- DBAsyncResult.cs