Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Adapters / ChtmlImageAdapter.cs / 1305376 / ChtmlImageAdapter.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System.Globalization;
using System.Web.UI.MobileControls.Adapters;
using System.Security.Permissions;
#if COMPILING_FOR_SHIPPED_SOURCE
namespace System.Web.UI.MobileControls.ShippedAdapterSource
#else
namespace System.Web.UI.MobileControls.Adapters
#endif
{
/*
* ChtmlImageAdapter class.
*/
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
public class ChtmlImageAdapter : HtmlImageAdapter
{
///
protected internal override void RenderImage(HtmlMobileTextWriter writer)
{
String source = Control.ImageUrl;
if (source.StartsWith(Constants.SymbolProtocol, StringComparison.Ordinal) &&
(Device.SupportsIModeSymbols || Device.SupportsJPhoneSymbols))
{
if (Device.SupportsIModeSymbols)
{
writer.Write("");
writer.Write(
source.Substring(Constants.SymbolProtocol.Length));
writer.Write(";");
}
else
{
// The ImageUrl should be in the format "symbol:xyyy",
// where x is group picture character (either G, E or F),
// and yyy (length can vary) is the picture's character
// code (in decimal).
String symbolChars = source.Substring(
Constants.SymbolProtocol.Length);
char code = DecimalStringToChar(symbolChars.Substring(1));
writer.Write("\u001B$");
writer.Write(Char.ToUpper(symbolChars[0], CultureInfo.InvariantCulture));
writer.Write(code);
writer.Write('\u000F');
}
}
else
{
base.RenderImage(writer);
}
}
// Convert decimal string "xxx" to '\u00xx'
private char DecimalStringToChar(String decimalString)
{
int codeValue = 0;
int adj = 1;
for (int i = decimalString.Length - 1; i >= 0; i--)
{
codeValue += DecimalCharToInt(decimalString[i]) * adj;
adj *= 10;
}
return (char) codeValue;
}
// Convert decimal char 'x' to decimal integer value x
private int DecimalCharToInt(char decimalChar)
{
int i;
if (decimalChar >= '0' && decimalChar <= '9')
{
i = decimalChar - '0';
}
else
{
throw new ArgumentException(
SR.GetString(SR.ChtmlImageAdapterDecimalCodeExpectedAfterGroupChar),
"ImageUrl");
}
return i;
}
///
protected override void AddAttributes(HtmlMobileTextWriter writer)
{
AddAccesskeyAttribute(writer);
AddJPhoneMultiMediaAttributes(writer);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System.Globalization;
using System.Web.UI.MobileControls.Adapters;
using System.Security.Permissions;
#if COMPILING_FOR_SHIPPED_SOURCE
namespace System.Web.UI.MobileControls.ShippedAdapterSource
#else
namespace System.Web.UI.MobileControls.Adapters
#endif
{
/*
* ChtmlImageAdapter class.
*/
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
public class ChtmlImageAdapter : HtmlImageAdapter
{
///
protected internal override void RenderImage(HtmlMobileTextWriter writer)
{
String source = Control.ImageUrl;
if (source.StartsWith(Constants.SymbolProtocol, StringComparison.Ordinal) &&
(Device.SupportsIModeSymbols || Device.SupportsJPhoneSymbols))
{
if (Device.SupportsIModeSymbols)
{
writer.Write("");
writer.Write(
source.Substring(Constants.SymbolProtocol.Length));
writer.Write(";");
}
else
{
// The ImageUrl should be in the format "symbol:xyyy",
// where x is group picture character (either G, E or F),
// and yyy (length can vary) is the picture's character
// code (in decimal).
String symbolChars = source.Substring(
Constants.SymbolProtocol.Length);
char code = DecimalStringToChar(symbolChars.Substring(1));
writer.Write("\u001B$");
writer.Write(Char.ToUpper(symbolChars[0], CultureInfo.InvariantCulture));
writer.Write(code);
writer.Write('\u000F');
}
}
else
{
base.RenderImage(writer);
}
}
// Convert decimal string "xxx" to '\u00xx'
private char DecimalStringToChar(String decimalString)
{
int codeValue = 0;
int adj = 1;
for (int i = decimalString.Length - 1; i >= 0; i--)
{
codeValue += DecimalCharToInt(decimalString[i]) * adj;
adj *= 10;
}
return (char) codeValue;
}
// Convert decimal char 'x' to decimal integer value x
private int DecimalCharToInt(char decimalChar)
{
int i;
if (decimalChar >= '0' && decimalChar <= '9')
{
i = decimalChar - '0';
}
else
{
throw new ArgumentException(
SR.GetString(SR.ChtmlImageAdapterDecimalCodeExpectedAfterGroupChar),
"ImageUrl");
}
return i;
}
///
protected override void AddAttributes(HtmlMobileTextWriter writer)
{
AddAccesskeyAttribute(writer);
AddJPhoneMultiMediaAttributes(writer);
}
}
}
// 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
- AttachedPropertyBrowsableAttribute.cs
- Grid.cs
- TemplateContent.cs
- StubHelpers.cs
- PrivilegeNotHeldException.cs
- MergeLocalizationDirectives.cs
- TypeUtil.cs
- EntityFunctions.cs
- BooleanAnimationBase.cs
- DirtyTextRange.cs
- ContractsBCL.cs
- VirtualPathProvider.cs
- ComponentManagerBroker.cs
- DataGridTable.cs
- SqlDataSourceRefreshSchemaForm.cs
- DescendentsWalkerBase.cs
- ConnectionManagementSection.cs
- InvokeMethodActivity.cs
- XamlPointCollectionSerializer.cs
- EditorServiceContext.cs
- HtmlLink.cs
- ErrorStyle.cs
- ObjectStorage.cs
- BlockExpression.cs
- FileDialogCustomPlace.cs
- PropertyIDSet.cs
- DescendantQuery.cs
- DataGridTextColumn.cs
- StreamInfo.cs
- VisualTreeUtils.cs
- DescriptionAttribute.cs
- BufferedWebEventProvider.cs
- ClientApiGenerator.cs
- RIPEMD160.cs
- TransactionOptions.cs
- PaginationProgressEventArgs.cs
- SamlSerializer.cs
- Scalars.cs
- ActivatedMessageQueue.cs
- TraceSource.cs
- TreeViewHitTestInfo.cs
- MiniConstructorInfo.cs
- ACL.cs
- SnapshotChangeTrackingStrategy.cs
- BindingExpressionBase.cs
- CodeParameterDeclarationExpression.cs
- SessionIDManager.cs
- Transaction.cs
- ToolStripInSituService.cs
- SettingsPropertyValue.cs
- AddInSegmentDirectoryNotFoundException.cs
- PagedControl.cs
- UpdatePanel.cs
- RoutedEvent.cs
- xmlformatgeneratorstatics.cs
- DBConcurrencyException.cs
- StrokeIntersection.cs
- SemaphoreSecurity.cs
- DateTimeConverter2.cs
- ListView.cs
- DrawListViewItemEventArgs.cs
- ConsumerConnectionPoint.cs
- Blend.cs
- APCustomTypeDescriptor.cs
- PDBReader.cs
- TableLayout.cs
- PagesSection.cs
- CopyOfAction.cs
- WebOperationContext.cs
- SchemaCollectionCompiler.cs
- CustomError.cs
- DataGridViewCellCancelEventArgs.cs
- ResourcesChangeInfo.cs
- ContainerActivationHelper.cs
- RealProxy.cs
- SQLBinaryStorage.cs
- Model3D.cs
- XamlToRtfParser.cs
- SimpleType.cs
- XmlUTF8TextWriter.cs
- GeneralTransform3DTo2DTo3D.cs
- ZeroOpNode.cs
- StringUtil.cs
- HealthMonitoringSectionHelper.cs
- TargetPerspective.cs
- MasterPageBuildProvider.cs
- GPPOINTF.cs
- SeverityFilter.cs
- LocalizationParserHooks.cs
- AutomationProperties.cs
- AttributeUsageAttribute.cs
- EpmTargetTree.cs
- FileLogRecord.cs
- CharacterMetrics.cs
- Interfaces.cs
- XmlSchemaAll.cs
- ImageProxy.cs
- BindingGroup.cs
- PartialCachingAttribute.cs
- PersonalizationAdministration.cs