Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / System / Windows / Media3D / Material.cs / 1 / Material.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: 3D material implementation.
//
// See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht
//
// History:
// 06/25/2003 : t-gregr - Created
//
//---------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Composition;
namespace System.Windows.Media.Media3D
{
///
/// Material is the abstract base class for materials
///
[Localizability(LocalizationCategory.None, Readability = Readability.Unreadable)] // cannot be read & localized as string
public abstract partial class Material : Animatable
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
// Prevent 3rd parties from extending this abstract base class.
internal Material() {}
#endregion Constructors
//------------------------------------------------------
//
// Internal Methods
//
//-----------------------------------------------------
#region Internal Methods
// NTRAID#Longhorn-1591973-2006/03/31-[....] - Should be using inherited "Precompute" from Animatable
//
// These return 'true' if the Material requires realization
internal abstract bool PreCompute();
internal static bool PreCompute(Brush brush)
{
bool requiresRealization = false;
if (brush != null)
{
brush.Precompute();
requiresRealization = brush.RequiresRealizationUpdates;
}
return requiresRealization;
}
internal abstract void UpdateRealizations(
RealizationContext ctx,
ref Rect bounds);
internal static void UpdateRealizations(
Brush brush,
RealizationContext ctx,
ref Rect bounds
)
{
if (brush != null)
{
brush.UpdateRealizations(bounds, ctx);
}
}
#endregion Internal Methods
//------------------------------------------------------
//
// Internal Properties
//
//------------------------------------------------------
#region Internal Properties
// NTRAID#Longhorn-1591973-2006/03/31-[....] - Should be using inherited "RequiresRealizationUpdates" from Animatable
internal abstract bool RequiresRealization
{
get;
}
#endregion Internal Properties
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: 3D material implementation.
//
// See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht
//
// History:
// 06/25/2003 : t-gregr - Created
//
//---------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Composition;
namespace System.Windows.Media.Media3D
{
///
/// Material is the abstract base class for materials
///
[Localizability(LocalizationCategory.None, Readability = Readability.Unreadable)] // cannot be read & localized as string
public abstract partial class Material : Animatable
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
// Prevent 3rd parties from extending this abstract base class.
internal Material() {}
#endregion Constructors
//------------------------------------------------------
//
// Internal Methods
//
//-----------------------------------------------------
#region Internal Methods
// NTRAID#Longhorn-1591973-2006/03/31-[....] - Should be using inherited "Precompute" from Animatable
//
// These return 'true' if the Material requires realization
internal abstract bool PreCompute();
internal static bool PreCompute(Brush brush)
{
bool requiresRealization = false;
if (brush != null)
{
brush.Precompute();
requiresRealization = brush.RequiresRealizationUpdates;
}
return requiresRealization;
}
internal abstract void UpdateRealizations(
RealizationContext ctx,
ref Rect bounds);
internal static void UpdateRealizations(
Brush brush,
RealizationContext ctx,
ref Rect bounds
)
{
if (brush != null)
{
brush.UpdateRealizations(bounds, ctx);
}
}
#endregion Internal Methods
//------------------------------------------------------
//
// Internal Properties
//
//------------------------------------------------------
#region Internal Properties
// NTRAID#Longhorn-1591973-2006/03/31-[....] - Should be using inherited "RequiresRealizationUpdates" from Animatable
internal abstract bool RequiresRealization
{
get;
}
#endregion Internal Properties
}
}
// 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
- TreeViewDataItemAutomationPeer.cs
- RectangleGeometry.cs
- ResourceSetExpression.cs
- WebPartConnection.cs
- DefaultDiscoveryServiceExtension.cs
- Image.cs
- BindingExpressionBase.cs
- ContextMenuStrip.cs
- DropShadowBitmapEffect.cs
- XPathNode.cs
- Function.cs
- FontStyle.cs
- AssemblyNameEqualityComparer.cs
- ListChunk.cs
- XmlWrappingWriter.cs
- SqlException.cs
- InstanceView.cs
- DataControlLinkButton.cs
- TextModifierScope.cs
- SafeEventLogWriteHandle.cs
- AnimatedTypeHelpers.cs
- ToolboxDataAttribute.cs
- FilterQueryOptionExpression.cs
- SvcMapFileLoader.cs
- DataListItem.cs
- DataGridViewCellCancelEventArgs.cs
- SelectionChangedEventArgs.cs
- ConvertersCollection.cs
- FirstQueryOperator.cs
- DesigntimeLicenseContext.cs
- X500Name.cs
- NameSpaceExtractor.cs
- SqlClientWrapperSmiStreamChars.cs
- Vector3DAnimation.cs
- Geometry.cs
- DataListItemEventArgs.cs
- OdbcHandle.cs
- PrincipalPermission.cs
- FontFamilyValueSerializer.cs
- UnsafeNativeMethods.cs
- GrammarBuilderDictation.cs
- SourceFileInfo.cs
- MD5CryptoServiceProvider.cs
- WebPartAddingEventArgs.cs
- DeviceSpecificChoice.cs
- VSWCFServiceContractGenerator.cs
- ChildTable.cs
- DecimalAnimation.cs
- DocumentOutline.cs
- DocumentAutomationPeer.cs
- ErrorProvider.cs
- Logging.cs
- SchemaName.cs
- TemplateNameScope.cs
- Internal.cs
- MsmqAppDomainProtocolHandler.cs
- ContextBase.cs
- SQLMoney.cs
- PropertyBuilder.cs
- ExpressionsCollectionConverter.cs
- WebBrowserSiteBase.cs
- DomNameTable.cs
- DataBoundLiteralControl.cs
- StrokeNodeData.cs
- ExpressionBuilder.cs
- FileCodeGroup.cs
- ThaiBuddhistCalendar.cs
- SafeTokenHandle.cs
- DropShadowBitmapEffect.cs
- Annotation.cs
- UriTemplateMatch.cs
- RegexTree.cs
- ImageDrawing.cs
- DateTimeFormatInfo.cs
- CodeCatchClause.cs
- JsonCollectionDataContract.cs
- ComboBoxRenderer.cs
- SqlMethodTransformer.cs
- QfeChecker.cs
- PenThreadPool.cs
- SystemIPv4InterfaceProperties.cs
- GeneralTransform.cs
- ExceptionCollection.cs
- ComponentDispatcher.cs
- XmlAttributes.cs
- MsmqHostedTransportManager.cs
- HtmlTitle.cs
- ReadOnlyDataSourceView.cs
- RowType.cs
- RegisteredHiddenField.cs
- Point3DAnimation.cs
- WebPartCatalogCloseVerb.cs
- ColorMap.cs
- SecurityRuntime.cs
- D3DImage.cs
- MessageOperationFormatter.cs
- MsmqBindingElementBase.cs
- ConfigurationCollectionAttribute.cs
- ExpandedWrapper.cs
- SafeLocalAllocation.cs