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
- DictionarySectionHandler.cs
- OleDbDataReader.cs
- DialogResultConverter.cs
- SimpleApplicationHost.cs
- DefaultAsyncDataDispatcher.cs
- SqlDataSource.cs
- TextBox.cs
- CompareValidator.cs
- WindowPatternIdentifiers.cs
- RemotingException.cs
- UIHelper.cs
- ResumeStoryboard.cs
- Collection.cs
- MachineSettingsSection.cs
- ImplicitInputBrush.cs
- FloatAverageAggregationOperator.cs
- GcHandle.cs
- QilSortKey.cs
- CodeThrowExceptionStatement.cs
- QuaternionAnimationBase.cs
- DebugHandleTracker.cs
- ValidationPropertyAttribute.cs
- EntityModelBuildProvider.cs
- HtmlControl.cs
- DomNameTable.cs
- AppDomainUnloadedException.cs
- SerializeAbsoluteContext.cs
- DataServiceRequest.cs
- Timer.cs
- TreeSet.cs
- DependencyPropertyValueSerializer.cs
- PropertyHelper.cs
- UInt64.cs
- InkCanvasAutomationPeer.cs
- ChtmlFormAdapter.cs
- DetailsViewActionList.cs
- StylusButtonEventArgs.cs
- DocumentSchemaValidator.cs
- _UncName.cs
- UrlAuthorizationModule.cs
- CookieParameter.cs
- TextBoxView.cs
- SoapCodeExporter.cs
- RuntimeWrappedException.cs
- ToolstripProfessionalRenderer.cs
- DynamicQueryableWrapper.cs
- ContextStaticAttribute.cs
- ExpressionReplacer.cs
- HitTestFilterBehavior.cs
- ChtmlPageAdapter.cs
- ValueSerializerAttribute.cs
- ResourcePart.cs
- HtmlPageAdapter.cs
- XmlTextAttribute.cs
- PropertyToken.cs
- BitmapScalingModeValidation.cs
- ToolboxItemAttribute.cs
- RowToFieldTransformer.cs
- _LazyAsyncResult.cs
- IItemContainerGenerator.cs
- EntityCommand.cs
- FloaterBaseParaClient.cs
- CustomErrorsSection.cs
- XPathConvert.cs
- MenuAutomationPeer.cs
- QueryComponents.cs
- XPathPatternParser.cs
- ClientSettingsProvider.cs
- HtmlMeta.cs
- DynamicMethod.cs
- BooleanExpr.cs
- CqlParserHelpers.cs
- DbMetaDataCollectionNames.cs
- SystemWebCachingSectionGroup.cs
- ConnectionProviderAttribute.cs
- TabItem.cs
- MsmqTransportBindingElement.cs
- basenumberconverter.cs
- XmlSerializerImportOptions.cs
- _RegBlobWebProxyDataBuilder.cs
- FastEncoder.cs
- DataSourceControlBuilder.cs
- FormViewUpdateEventArgs.cs
- XmlSchemaAnyAttribute.cs
- ManualWorkflowSchedulerService.cs
- XsltContext.cs
- ScrollEvent.cs
- _SSPISessionCache.cs
- XPathSelectionIterator.cs
- XmlCountingReader.cs
- InputQueue.cs
- RectKeyFrameCollection.cs
- PositiveTimeSpanValidatorAttribute.cs
- BStrWrapper.cs
- MemoryPressure.cs
- TableParaClient.cs
- XamlSerializerUtil.cs
- SelectedDatesCollection.cs
- RevocationPoint.cs
- UseAttributeSetsAction.cs