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
- ProfileInfo.cs
- ProtocolsConfigurationHandler.cs
- KernelTypeValidation.cs
- TrackingLocation.cs
- SQLBoolean.cs
- OptimalBreakSession.cs
- XmlDataImplementation.cs
- EntityConnectionStringBuilder.cs
- IdleTimeoutMonitor.cs
- FlowDocumentPageViewerAutomationPeer.cs
- UserInitiatedNavigationPermission.cs
- ScriptManager.cs
- ContextConfiguration.cs
- MruCache.cs
- ConfigurationManager.cs
- NameGenerator.cs
- ArgumentOutOfRangeException.cs
- SettingsSavedEventArgs.cs
- ParentControlDesigner.cs
- StatusBar.cs
- DynamicFilter.cs
- NativeMethodsOther.cs
- BrowsableAttribute.cs
- BoolExpression.cs
- StyleCollectionEditor.cs
- DbSetClause.cs
- LifetimeMonitor.cs
- GeneralTransformCollection.cs
- HttpDebugHandler.cs
- Rect3DConverter.cs
- CodeDomDesignerLoader.cs
- UserMapPath.cs
- ExpandedWrapper.cs
- CngKeyCreationParameters.cs
- AdRotator.cs
- HttpTransportBindingElement.cs
- XPathItem.cs
- SortQuery.cs
- VisualStyleTypesAndProperties.cs
- RadioButtonPopupAdapter.cs
- XmlSchemaAttributeGroupRef.cs
- WindowsListView.cs
- DecimalConstantAttribute.cs
- Funcletizer.cs
- ObjectDataProvider.cs
- ImportCatalogPart.cs
- EmbeddedMailObject.cs
- StringInfo.cs
- unsafenativemethodsother.cs
- Typography.cs
- DoubleIndependentAnimationStorage.cs
- ListDictionaryInternal.cs
- PartBasedPackageProperties.cs
- DbInsertCommandTree.cs
- ToolStripDropDownMenu.cs
- SiteMapProvider.cs
- TypeSystemProvider.cs
- ErrorHandlerModule.cs
- BCryptNative.cs
- OperationAbortedException.cs
- TextParagraphProperties.cs
- RequestNavigateEventArgs.cs
- GeneralTransform.cs
- FileNameEditor.cs
- XsltLibrary.cs
- PriorityQueue.cs
- StorageEntityContainerMapping.cs
- IsolatedStorage.cs
- WindowsRebar.cs
- StrongNamePublicKeyBlob.cs
- DynamicILGenerator.cs
- shaperfactoryquerycacheentry.cs
- FixedElement.cs
- TextCollapsingProperties.cs
- PageTheme.cs
- CompilerGeneratedAttribute.cs
- InlinedAggregationOperatorEnumerator.cs
- Types.cs
- CompiledIdentityConstraint.cs
- TextSpanModifier.cs
- DrawingVisualDrawingContext.cs
- ListContractAdapter.cs
- JsonFormatGeneratorStatics.cs
- XPathSelectionIterator.cs
- AutomationAttributeInfo.cs
- UnsafeNativeMethods.cs
- KeyValuePairs.cs
- PartitionResolver.cs
- ColumnMapCopier.cs
- DefinitionBase.cs
- ToolStripItemCollection.cs
- recordstatescratchpad.cs
- Frame.cs
- ParallelTimeline.cs
- KnownColorTable.cs
- PathSegment.cs
- MessagePartProtectionMode.cs
- HttpProfileGroupBase.cs
- SqlCharStream.cs
- ComboBoxRenderer.cs