Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / System / Windows / Media / Animation / Generated / DoubleAnimationClockResource.cs / 1 / DoubleAnimationClockResource.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// This file was generated, please do not edit it directly.
//
// Please see http://wiki/default.aspx/Microsoft.Projects.Avalon/MilCodeGen.html for more information.
//
//---------------------------------------------------------------------------
using System;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Composition;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Security;
namespace System.Windows.Media.Animation
{
///
/// DoubleAnimationClockResource class.
/// AnimationClockResource classes refer to an AnimationClock and a base
/// value. They implement DUCE.IResource, and thus can be used to produce
/// a render-side resource which represents the current value of this
/// AnimationClock.
/// They subscribe to the Changed event on the AnimationClock and ensure
/// that the resource's current value is up to date.
///
internal class DoubleAnimationClockResource: AnimationClockResource, DUCE.IResource
{
///
/// Constructor for public DoubleAnimationClockResource.
/// This constructor accepts the base value and AnimationClock.
/// Note that since there is no current requirement that we be able to set or replace either the
/// base value or the AnimationClock, this is the only way to initialize an instance of
/// DoubleAnimationClockResource.
/// Also, we currently Assert that the resource is non-null, since without mutability
/// such a resource isn't needed.
/// We can easily extend this class if/when new requirements arise.
///
/// Double - The base value.
/// AnimationClock - cannot be null.
public DoubleAnimationClockResource(
Double baseValue,
AnimationClock animationClock
): base( animationClock )
{
_baseValue = baseValue;
}
#region Public Properties
///
/// BaseValue Property - typed accessor for BaseValue.
///
public Double BaseValue
{
get
{
return _baseValue;
}
}
///
/// CurrentValue Property - typed accessor for CurrentValue
///
public Double CurrentValue
{
get
{
if (_animationClock != null)
{
// No handoff for DrawingContext animations so we use the
// BaseValue as the defaultOriginValue and the
// defaultDestinationValue. We call the Timeline's GetCurrentValue
// directly to avoid boxing
return ((DoubleAnimationBase)(_animationClock.Timeline)).GetCurrentValue(
_baseValue, // defaultOriginValue
_baseValue, // defaultDesinationValue
_animationClock); // clock
}
else
{
return _baseValue;
}
}
}
#endregion Public Properties
#region DUCE
//
// Method which returns the DUCE type of this class.
// The base class needs this type when calling CreateOrAddRefOnChannel.
// By providing this via a virtual, we avoid a per-instance storage cost.
//
protected override DUCE.ResourceType ResourceType
{
get
{
return DUCE.ResourceType.TYPE_DOUBLERESOURCE;
}
}
///
/// UpdateResource - This method is called to update the render-thread
/// resource on a given channel.
///
/// The DUCE.ResourceHandle for this resource on this channel.
/// The channel on which to update the render-thread resource.
///
/// Critical: This code calls into an unsafe code block
/// TreatAsSafe: This code does not return any critical data.It is ok to expose
/// Channels can handle bad pointers and will not affect other appdomains or processes
///
[SecurityCritical,SecurityTreatAsSafe]
protected override void UpdateResource(
DUCE.ResourceHandle handle,
DUCE.Channel channel)
{
DUCE.MILCMD_DOUBLERESOURCE cmd = new DUCE.MILCMD_DOUBLERESOURCE();
cmd.Type = MILCMD.MilCmdDoubleResource;
cmd.Handle = handle;
cmd.Value = CurrentValue;
unsafe
{
channel.SendCommand(
(byte*)&cmd,
sizeof(DUCE.MILCMD_DOUBLERESOURCE));
}
// Validate this resource
IsResourceInvalid = false;
}
#endregion DUCE
private Double _baseValue;
}
}
// 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.
//
//
// This file was generated, please do not edit it directly.
//
// Please see http://wiki/default.aspx/Microsoft.Projects.Avalon/MilCodeGen.html for more information.
//
//---------------------------------------------------------------------------
using System;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Composition;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Security;
namespace System.Windows.Media.Animation
{
///
/// DoubleAnimationClockResource class.
/// AnimationClockResource classes refer to an AnimationClock and a base
/// value. They implement DUCE.IResource, and thus can be used to produce
/// a render-side resource which represents the current value of this
/// AnimationClock.
/// They subscribe to the Changed event on the AnimationClock and ensure
/// that the resource's current value is up to date.
///
internal class DoubleAnimationClockResource: AnimationClockResource, DUCE.IResource
{
///
/// Constructor for public DoubleAnimationClockResource.
/// This constructor accepts the base value and AnimationClock.
/// Note that since there is no current requirement that we be able to set or replace either the
/// base value or the AnimationClock, this is the only way to initialize an instance of
/// DoubleAnimationClockResource.
/// Also, we currently Assert that the resource is non-null, since without mutability
/// such a resource isn't needed.
/// We can easily extend this class if/when new requirements arise.
///
/// Double - The base value.
/// AnimationClock - cannot be null.
public DoubleAnimationClockResource(
Double baseValue,
AnimationClock animationClock
): base( animationClock )
{
_baseValue = baseValue;
}
#region Public Properties
///
/// BaseValue Property - typed accessor for BaseValue.
///
public Double BaseValue
{
get
{
return _baseValue;
}
}
///
/// CurrentValue Property - typed accessor for CurrentValue
///
public Double CurrentValue
{
get
{
if (_animationClock != null)
{
// No handoff for DrawingContext animations so we use the
// BaseValue as the defaultOriginValue and the
// defaultDestinationValue. We call the Timeline's GetCurrentValue
// directly to avoid boxing
return ((DoubleAnimationBase)(_animationClock.Timeline)).GetCurrentValue(
_baseValue, // defaultOriginValue
_baseValue, // defaultDesinationValue
_animationClock); // clock
}
else
{
return _baseValue;
}
}
}
#endregion Public Properties
#region DUCE
//
// Method which returns the DUCE type of this class.
// The base class needs this type when calling CreateOrAddRefOnChannel.
// By providing this via a virtual, we avoid a per-instance storage cost.
//
protected override DUCE.ResourceType ResourceType
{
get
{
return DUCE.ResourceType.TYPE_DOUBLERESOURCE;
}
}
///
/// UpdateResource - This method is called to update the render-thread
/// resource on a given channel.
///
/// The DUCE.ResourceHandle for this resource on this channel.
/// The channel on which to update the render-thread resource.
///
/// Critical: This code calls into an unsafe code block
/// TreatAsSafe: This code does not return any critical data.It is ok to expose
/// Channels can handle bad pointers and will not affect other appdomains or processes
///
[SecurityCritical,SecurityTreatAsSafe]
protected override void UpdateResource(
DUCE.ResourceHandle handle,
DUCE.Channel channel)
{
DUCE.MILCMD_DOUBLERESOURCE cmd = new DUCE.MILCMD_DOUBLERESOURCE();
cmd.Type = MILCMD.MilCmdDoubleResource;
cmd.Handle = handle;
cmd.Value = CurrentValue;
unsafe
{
channel.SendCommand(
(byte*)&cmd,
sizeof(DUCE.MILCMD_DOUBLERESOURCE));
}
// Validate this resource
IsResourceInvalid = false;
}
#endregion DUCE
private Double _baseValue;
}
}
// 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
- AuthenticationConfig.cs
- BufferedReadStream.cs
- AbstractExpressions.cs
- ComponentEditorPage.cs
- RtfFormatStack.cs
- CodeGotoStatement.cs
- BrowserTree.cs
- DoubleStorage.cs
- BitmapDecoder.cs
- QuaternionRotation3D.cs
- UserControl.cs
- SqlBuilder.cs
- SendReply.cs
- SystemIPGlobalStatistics.cs
- ModelService.cs
- x509utils.cs
- DbProviderFactory.cs
- HttpCacheParams.cs
- UIntPtr.cs
- CSharpCodeProvider.cs
- LocalizableAttribute.cs
- ItemsChangedEventArgs.cs
- TextFormatterContext.cs
- WebPartDeleteVerb.cs
- SHA1CryptoServiceProvider.cs
- ParenthesizePropertyNameAttribute.cs
- TemplateContent.cs
- ProgressiveCrcCalculatingStream.cs
- ObjectStateFormatter.cs
- ListBoxChrome.cs
- ClientScriptManager.cs
- SqlProcedureAttribute.cs
- DependencyPropertyHelper.cs
- WhereQueryOperator.cs
- HtmlTitle.cs
- RequestNavigateEventArgs.cs
- CompiledELinqQueryState.cs
- UTF7Encoding.cs
- UserControlParser.cs
- SqlBulkCopyColumnMappingCollection.cs
- _PooledStream.cs
- Themes.cs
- RoleGroup.cs
- SqlStatistics.cs
- documentation.cs
- QueryAccessibilityHelpEvent.cs
- ArgumentOutOfRangeException.cs
- SpotLight.cs
- ImageSourceValueSerializer.cs
- ActiveXHost.cs
- DesignerCategoryAttribute.cs
- StrongNameMembershipCondition.cs
- HtmlMeta.cs
- StringInfo.cs
- AccessDataSourceView.cs
- ErrorWebPart.cs
- FileDialogCustomPlacesCollection.cs
- WinEventQueueItem.cs
- TypePresenter.xaml.cs
- RegexWriter.cs
- Unit.cs
- Span.cs
- KeyValueConfigurationCollection.cs
- Compiler.cs
- ServerIdentity.cs
- DefaultAutoFieldGenerator.cs
- XmlSchemaObject.cs
- ManagementException.cs
- ExplicitDiscriminatorMap.cs
- TextBox.cs
- HandlerBase.cs
- WindowsTokenRoleProvider.cs
- FSWPathEditor.cs
- PathFigureCollection.cs
- BitmapImage.cs
- QueryBranchOp.cs
- HtmlInputRadioButton.cs
- DomainConstraint.cs
- LZCodec.cs
- OleDbErrorCollection.cs
- HashMembershipCondition.cs
- EndpointAddressElementBase.cs
- SqlDataSourceParameterParser.cs
- MultiByteCodec.cs
- DefaultSettingsSection.cs
- IsolatedStoragePermission.cs
- CatalogZoneAutoFormat.cs
- ClientConfigurationHost.cs
- FormViewPageEventArgs.cs
- XmlAttributeProperties.cs
- UTF8Encoding.cs
- TraceListener.cs
- XPathDocumentNavigator.cs
- EmptyStringExpandableObjectConverter.cs
- Int32Collection.cs
- XmlHelper.cs
- SystemTcpConnection.cs
- ProfileService.cs
- ToolBarButtonDesigner.cs
- RemoveStoryboard.cs