Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DoubleCollectionConverter.cs
- Tile.cs
- HttpResponseInternalWrapper.cs
- TextTrailingCharacterEllipsis.cs
- CustomWebEventKey.cs
- DictionaryEditChange.cs
- TypeSemantics.cs
- GCHandleCookieTable.cs
- ConnectionStringsExpressionEditor.cs
- KnownTypeDataContractResolver.cs
- ButtonStandardAdapter.cs
- TextBoxBase.cs
- UICuesEvent.cs
- TypeExtensionConverter.cs
- QueryReaderSettings.cs
- FormsAuthenticationCredentials.cs
- InvokeProviderWrapper.cs
- GregorianCalendar.cs
- LayoutEngine.cs
- FlowLayoutSettings.cs
- DXD.cs
- Polygon.cs
- IDispatchConstantAttribute.cs
- CustomAttributeFormatException.cs
- FixedSOMTableRow.cs
- _ProxyChain.cs
- SingleObjectCollection.cs
- EventMap.cs
- WebConvert.cs
- ZipPackagePart.cs
- SQLGuid.cs
- CredentialManagerDialog.cs
- TypeElement.cs
- HyperLinkField.cs
- UnmanagedHandle.cs
- DummyDataSource.cs
- AutoGeneratedField.cs
- ToolBarButton.cs
- ValidationErrorEventArgs.cs
- ValueType.cs
- _SSPIWrapper.cs
- CodeAttributeArgumentCollection.cs
- IIS7UserPrincipal.cs
- BinaryEditor.cs
- ServiceOperationUIEditor.cs
- FigureHelper.cs
- SwitchLevelAttribute.cs
- AutomationIdentifier.cs
- LinearGradientBrush.cs
- BuildProvidersCompiler.cs
- MatrixTransform.cs
- SQLInt64Storage.cs
- InputScopeNameConverter.cs
- CacheForPrimitiveTypes.cs
- SizeConverter.cs
- DesignerActionService.cs
- RoleGroupCollectionEditor.cs
- SymbolType.cs
- GridViewRowEventArgs.cs
- ReadOnlyCollectionBase.cs
- shaperfactory.cs
- SizeLimitedCache.cs
- ToolStripComboBox.cs
- XmlEntity.cs
- DataTableMappingCollection.cs
- Propagator.Evaluator.cs
- TagMapCollection.cs
- Random.cs
- MultilineStringConverter.cs
- QilReplaceVisitor.cs
- StandardToolWindows.cs
- XamlHttpHandlerFactory.cs
- METAHEADER.cs
- RecordBuilder.cs
- HuffmanTree.cs
- TemplatePropertyEntry.cs
- SAPIEngineTypes.cs
- ContractHandle.cs
- namescope.cs
- DrawToolTipEventArgs.cs
- EventProxy.cs
- ChangePasswordAutoFormat.cs
- ColorInterpolationModeValidation.cs
- CodeTypeDeclaration.cs
- Input.cs
- NavigationWindow.cs
- QueryContinueDragEvent.cs
- VectorCollectionConverter.cs
- ListControlConvertEventArgs.cs
- ExtractedStateEntry.cs
- TextElement.cs
- GroupLabel.cs
- RemotingConfiguration.cs
- Vector3DValueSerializer.cs
- Hex.cs
- EntityReference.cs
- IndexerNameAttribute.cs
- BindingsCollection.cs
- EndCreateSecurityTokenRequest.cs
- SystemIPv6InterfaceProperties.cs