Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / Effects / DropShadowEffect.cs / 1305600 / DropShadowEffect.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2007 // // File: DropShadowEffect.cs //----------------------------------------------------------------------------- using System; using System.Diagnostics; using System.Windows; using System.Windows.Media; namespace System.Windows.Media.Effects { ////// DropShadowEffect /// public partial class DropShadowEffect { #region Constructors ////// Constructor /// public DropShadowEffect() { } #endregion ////// Takes in content bounds, and returns the bounds of the rendered /// output of that content after the Effect is applied. /// internal override Rect GetRenderBounds(Rect contentBounds) { Point topLeft = new Point(); Point bottomRight = new Point(); double radius = BlurRadius; topLeft.X = contentBounds.TopLeft.X - radius; topLeft.Y = contentBounds.TopLeft.Y - radius; bottomRight.X = contentBounds.BottomRight.X + radius; bottomRight.Y = contentBounds.BottomRight.Y + radius; double depth = ShadowDepth; double direction = Math.PI/180 * Direction; double offsetX = depth * Math.Cos(direction); double offsetY = depth * Math.Sin(direction); // If the shadow is horizontally aligned or to the right of the original element... if (offsetX >= 0.0f) { bottomRight.X += offsetX; } // If the shadow is to the left of the original element... else { topLeft.X += offsetX; } // If the shadow is above the original element... if (offsetY >= 0.0f) { topLeft.Y -= offsetY; } // If the shadow is below the original element... else { bottomRight.Y -= offsetY; } return new Rect(topLeft, bottomRight); } } } // 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
- MethodBuilderInstantiation.cs
- TickBar.cs
- ResourceDictionaryCollection.cs
- StateMachineWorkflow.cs
- TreeBuilderBamlTranslator.cs
- CellIdBoolean.cs
- EditorPart.cs
- path.cs
- CqlErrorHelper.cs
- PrintPageEvent.cs
- TreeNodeClickEventArgs.cs
- Win32KeyboardDevice.cs
- CryptoConfig.cs
- WebResourceAttribute.cs
- SamlAuthorityBinding.cs
- MetadataImporter.cs
- ByteStreamGeometryContext.cs
- DataViewManagerListItemTypeDescriptor.cs
- RSAPKCS1KeyExchangeFormatter.cs
- SafeBitVector32.cs
- SortedList.cs
- SoapExtensionTypeElementCollection.cs
- ToolStripComboBox.cs
- ScrollContentPresenter.cs
- TableAdapterManagerGenerator.cs
- ProfileSection.cs
- SamlSecurityTokenAuthenticator.cs
- GeneralTransform3DTo2DTo3D.cs
- BoundingRectTracker.cs
- SystemWebSectionGroup.cs
- DataGridViewColumnStateChangedEventArgs.cs
- JsonXmlDataContract.cs
- GridViewDeleteEventArgs.cs
- AnonymousIdentificationSection.cs
- AnimationClockResource.cs
- ToolStripDesigner.cs
- PathGeometry.cs
- Debug.cs
- Viewport3DAutomationPeer.cs
- ThreadExceptionDialog.cs
- UnsafeNativeMethods.cs
- PerformanceCountersElement.cs
- ReachUIElementCollectionSerializer.cs
- EventArgs.cs
- IpcManager.cs
- ServerValidateEventArgs.cs
- StyleXamlParser.cs
- SqlConnectionPoolProviderInfo.cs
- ClientSettingsSection.cs
- CustomGrammar.cs
- InputLanguageCollection.cs
- Signature.cs
- DSACryptoServiceProvider.cs
- ContourSegment.cs
- loginstatus.cs
- DecimalConstantAttribute.cs
- LayoutTableCell.cs
- RequestFactory.cs
- entityreference_tresulttype.cs
- CompiledQuery.cs
- ApplicationActivator.cs
- TextEditorCopyPaste.cs
- ToolBar.cs
- StackOverflowException.cs
- FontWeight.cs
- WindowsTooltip.cs
- HelpHtmlBuilder.cs
- DataGridViewSelectedColumnCollection.cs
- PowerEase.cs
- CalendarDay.cs
- QuadraticBezierSegment.cs
- PropertyInfoSet.cs
- InstancePersistenceCommand.cs
- MaskPropertyEditor.cs
- Border.cs
- Tile.cs
- FileDialog_Vista_Interop.cs
- RangeValidator.cs
- SoapDocumentServiceAttribute.cs
- RedistVersionInfo.cs
- FieldAccessException.cs
- DocumentEventArgs.cs
- Typography.cs
- ConfigurationPropertyAttribute.cs
- GenerateTemporaryTargetAssembly.cs
- InvokeWebServiceDesigner.cs
- GiveFeedbackEvent.cs
- PagesSection.cs
- Site.cs
- EventLogLink.cs
- TextTreeFixupNode.cs
- HwndMouseInputProvider.cs
- AutoResetEvent.cs
- GroupBoxRenderer.cs
- WrapPanel.cs
- TraceUtility.cs
- TTSEngineTypes.cs
- PenLineJoinValidation.cs
- GridViewCommandEventArgs.cs
- XmlSerializationReader.cs