Telerik.WinControls.RadMap Initializes a new instance of the class. The elevations. The seaLevels. Initializes a new instance of the class. The elevations. The seaLevels. A user-defined object that is passed to the method invoked when the asynchronous operation completes Gets the elevations response. Gets the sea levels response. A user-defined object that is passed to the method invoked when the asynchronous operation completes. Initializes a new instance of the class. The search criteria. Gets or sets the search criteria. The search criteria. Initializes a new instance of the class. The error. Gets the error that occurred. The error. Base class for the asynchronous map shape readers for ESRI shape-file and KML. Initializes a new instance of the AsyncFileReaderBase class. Gets or sets the uri of the base address. Gets or sets the uri of geospatial file. Gets or sets the collection of geospatial sources. Gets or sets the start z-index for reading multiple sources. Gets or sets the flag which allows to use incremental z-index for shapes of each read sources. Gets or sets the stream of geospatial data. Gets or sets the timeout which is used for reading of the stream. Gets or sets the request cache level which is used for downloading data from Uri which is specified in the Source property. Occurs when the properties which are used for loading are changed. Event arguments. Base class for the asynchronous map shape readers (KML, ESRI, WKT/WKB). Occurs when the reader completes to read shapes and pass them to target information layer. Occurs when the reader completes to read shapes. Occurs when part of data is read. Occurs when a shape data is read. Gets or sets the ClearLayer property. If it is set to true, then the reader clears its information layer after reading. Target layer. Gets or sets extended property set which will be used during shape file (KML or ESRI) reading. Can be null. In this case extended property set will be created depends on the extended data available in the KML file or in the attributes file (DBF). Gets or sets tooltip format. Either ToolTipFormat or ToolTipTemplate should be specified. If both properties are set, then ToolTipTemplate will be used. The tooltip format can be specified in a few different ways: as simple name of the extended property, as formatted extended property, or as format string which can use number of the extended properties. this.visualizationLayer.Reader = new AsyncShapeFileReader(); // Using of the single extended property name. this.visualizationLayer.Reader.ToolTipFormat = "CNTRY_NAME"; // Using of the formatted extended property. // The '|' character is used to separate extended property name and its output format. this.visualizationLayer.Reader.ToolTipFormat = "SUM_SQMI_A|F2"; // Format string with number of the extended properties. this.visualizationLayer.Reader.ToolTipFormat = "{CNTRY_NAME} Miles: {SUM_SQMI_A|F2}, KM: {SUM_SQKM_A|F1}"; Me.visualizationLayer.Reader = New AsyncShapeFileReader() ' Using of the single extended property name. Me.visualizationLayer.Reader.ToolTipFormat = "CNTRY_NAME" ' Using of the formatted extended property. ' The '|' character is used to separate extended property name and its output format. Me.visualizationLayer.Reader.ToolTipFormat = "SUM_SQMI_A|F2" Format string with number of the extended properties. Me.visualizationLayer.Reader.ToolTipFormat = "{CNTRY_NAME} Miles: {SUM_SQMI_A|F2}, KM: {SUM_SQKM_A|F1}" <telerik:AsyncShapeFileReader Source="/Telerik.RadMap.Silverlight;component/africa" ToolTipFormat="CNTRY_NAME"> <telerik:AsyncShapeFileReader Source="/Telerik.RadMap.Silverlight;component/africa" ToolTipFormat="SUM_SQMI_A|F2"> <telerik:AsyncShapeFileReader Source="/Telerik.RadMap.Silverlight;component/africa" ToolTipFormat="{}{CNTRY_NAME} Miles: {SUM_SQMI_A|F2}, KM: {SUM_SQKM_A|F1}"> . Gets or sets the CoordinateConverter applied to the reader. Reads geospatial data using asynchronous mode. Reads geospatial data using asynchronous mode. A user-defined object that is passed to the method invoked when the asynchronous operation completes. Cancels loading of shapes. Cancels loading of shapes by process id. Id of the process. Raises the ProgressChanged event. The percentage, from 0 to 100, of the background operation that is completed. The state object passed to ReadAsync(System.Object). Starts loading when the properties which are used for loading are changed. Source object. Event arguments. Occurs when the properties which are used for loading are changed. Event arguments. The class represents a source for reading of multiple shape-files. Gets or sets the uri of the data-file (dbf). Gets or sets the uri of geospatial file. Represents AsyncReaderFile collection. Initializes a new instance of the AsyncReaderSourceCollection class. Initializes a new instance of the AsyncReaderSourceCollection class. The source IEnumerable of Uri or of string. Performs an explicit conversion from object[] to AsyncReaderSourceCollection. The array. The result of the conversion. Performs an explicit conversion from collection of string to AsyncReaderSourceCollection. The collection of string. The result of the conversion. Performs an explicit conversion from collection of Uri to AsyncReaderSourceCollection. The collection of Uri. The result of the conversion. Performs an explicit conversion from list of string to AsyncReaderSourceCollection. The list of string. The result of the conversion. Performs an explicit conversion from list of Uri to AsyncReaderSourceCollection. The list of Uri. The result of the conversion. The type converter which converts the instance of IEnumerable to the AsyncReaderSourceCollection. Gets a value that indicates whether this type converter can convert from a given type. ITypeDescriptorContext for this call. Type being queried for support. True if this converter can convert from the specified type; false otherwise. Attempts to convert to a Location from the given object. The ITypeDescriptorContext for this call. The CultureInfo which is respected when converting. The object to convert to an instance of Location. Location that was constructed. Represents the thread safety parameters of the AsyncFileReaderBase class. Gets or sets the uri of the base address. Gets or sets Uri of geospatial data. Gets or sets the stream of geospatial data. Gets or sets the length of stream. Gets or sets the timeout which is used for reading of the stream. Gets or sets the request cache level which is used for downloading data from Uri which is specified in the Source property. Represents the BackgroundMapShapeDataReader. Allows loading shape data in the background thread. Gets or sets the value which indicates that the reader should report progress. Gets or sets the value which indicates that the reader should raise PreviewReadShapeDataCompleted event for each shape as soon as it is read. Gets or sets the value which indicates that the reader should be cancelled. Loads shape data in the background thread. Parameters for loading. Cancels loading. The progress calculator. The progress in percent. Is called when the reading is cancelled. Completes loading process. Raises the ProgressChanged event. The percentage of progress from 0 to 100. Adds shape record to the internal dictionary. The record number. The record. Gets the record by its number. The record number. The record. Is used to raise PreviewReadShapeDataCompleted event for single shape record. Represents the thread safety parameters of the AsyncReaderBase class. Gets the user-defined object which could be set for ReadAsync method. The ExtendedPropertySet for data from dbf-file. The Coordinate Converter. Instance of the AsyncReaderBase. The background reader instance. The reader id. Gets or sets the stream of geospatial data. Gets or sets items which are returned during reading. Gets or sets a value that indicates whether an asynchronous operation has been canceled. Gets or sets tooltip format. Get location using Coordinate Converter. Latitude. Longitude. Location. Completes Uri with base address. Uri. Base address. Uri. Checks that the Uri specifies an application resource. The Uri. Returns true when the Uri specifies an application resource. Gets stream from application resources. Uri. Outs exception it's occurred. Stream. Represents the asynchronous map shape reader for KML file. Reads geospatial data using asynchronous mode. Reads geospatial data using asynchronous mode. A user-defined object that is passed to the method invoked when the asynchronous operation completes. Represents the thread safety parameters of the AsyncShapeFileReader class. Loads shape data in the background thread. Parameters for loading. The progress calculator. The progress in percent. Completes cancel process. Converts a String representation of the LocationCollection into the equivalent LocationCollection class. The String representation of the LocationCollection class. Indicates whether string contains coordinates in reversed order (Longitude-Latitude like in KML files). The equivalent LocationCollection class. Delegate for the PreviewReadShapeDataCompleted event handler. Object that currently handles event. Event arguments. Represents the PreviewReadShapeDataCompletedEventArgs class. Gets the list of read items. Delegate for the ReadShapeDataCompleted event handler. Object which currently handles event. Event arguments. Represents the ReadShapeDataCompletedEventArgs class. Gets a value that indicates whether an asynchronous operation has been canceled. Gets the exception. Gets the user-defined object which could be set for ReadAsync method. Represents the asynchronous map shape reader for ESRI shape-file. Gets or sets the uri of the data-file (dbf). Gets or sets the stream of geospatial data. Gets or sets the character encoding applied to the reader. Reads geospatial data using asynchronous mode. Reads geospatial data using asynchronous mode. A user-defined object that is passed to the method invoked when the asynchronous operation completes. Represents the thread safety parameters of the AsyncShapeFileReader class. Uri of DBF file. Stream of DBF file. Gets or sets the length of DBF file stream. DBF-file encoding. Loads shape data in the background thread. Parameters for loading. The progress calculator. The progress in percent. Completes cancel process. Represents the asynchronous map shape reader for geospatial data in WKB/WKT formats from IEnumerable data source type. Gets or sets the name of the geospatial data field. Gets or sets the IEnumerable instance. Reads geospatial data using asynchronous mode. Reads geospatial data using asynchronous mode. A user-defined object that is passed to the method invoked when the asynchronous operation completes. Occurs when the properties which are used for loading are changed. Event arguments. Loads shape data in the background thread. Parameters for loading. The progress calculator. The progress in percent. Completes cancel process. Represents the thread safety parameters of the AsyncSqlGeospatialDataReader class. Gets or sets the name of the geospatial data field. Gets or sets flag which indicates that the generated shapes should be marked. Gets or sets the IEnumerable instance. Specifies how the description balloon for place marks is drawn. Gets or sets Background color of the balloon (optional). Gets or sets foreground color for text. Gets or sets text displayed in the balloon. Prepare balloon content template using style parameters. Gets or sets coordinate system. Gets or sets name of the child element which is hot spot of the framework element. Coordinate system which is used to calculate location of the hotspot inside the element. The RadMap coordinate system. The point of origin is left-top corner of the element. The X is increased from left to right. The Y is increased from top to bottom. The Google KML coordinate system. The point of origin is left-bottom corner of the element. The X is increased from left to right. The Y is increased from bottom to top. Units are used to position hot spot. Fractions of the icon size. The hot spot is inside the icon. Pixels. Distance from the hot spot location to icon. The hot spot is outside the icon. Offset in pixels from the upper right corner of the icon The hot spot is inside the icon. Represents KML IconStyle element. Initializes a new instance of the IconStyle class. IconStyle element to get data from. Gets or sets icon URL. Gets or sets hot spot settings. Gets or sets icon's scale. Represents the KmlPlacemarkProperties class. Balloon style. Point description. Gets or sets icon's scale. Icon URI. Icon hot spot. Point name. Reads Kml file from a stream. Stream of Kml file. List of elements that will be placed on an information layer. Reads Kml file from a stream. Stream of Kml file. Extended property set for extended data. List of elements that will be placed on an information layer. Reads Kml file from a string. String of Kml. List of elements that will be placed on an information layer. Reads Kml file from a string. String of Kml. Extended property set for extended data. List of elements that will be placed on an information layer. Converts a String representation of the LocationCollection into the equivalent LocationCollection class. The String representation of the LocationCollection class. Indicates whether string contains coordinates in reversed order (Longitude-Latitude like in KML files). The equivalent LocationCollection class. Prepares coordinates string. Coordinates. Prepared coordinates. Initializes a new instance of the KmlStyle class. KML style element to get data from. Gets or sets balloon style. Gets or sets IconStyle. Gets or sets line style. Gets or sets polygon style. Represents KML LineStyle element. Initializes a new instance of the LineStyle class. Initializes a new instance of the LineStyle class. LineStyle element to get data from. Gets or sets line color. Gets or sets line width. Represents KML PolyStyle element. Initializes a new instance of the PolyStyle class. Initializes a new instance of the PolyStyle class. PolyStyle element to get data from. Gets or sets line color. Gets or sets value which indicates whether the polygon should be filled. Gets or sets value which indicates whether the polygon should be outlined. Represents the DbfEncoding class. Represents the ShapeFileReader class. The ESRI shape type definitions. Null Shape. Point. Polyline. Polygon. Multipoint. PointZ. PolylineZ. PolygonZ. MultipointZ. PointM. PolylineM. PolygonM. MultipointM. Multipatch. Reads ESRI shape file from a stream. Stream of ESRI shape file. List of elements that will be placed on an information layer. Reads ESRI shape file from the shape file and dbf file stream. Stream of ESRI shape file. Stream of DBF file. List of elements that will be placed on an information layer. Reads ESRI shape file from the shape file and dbf file stream. Stream of ESRI shape file. Stream of DBF file. DBF-file encoding. List of elements that will be placed on an information layer. Reads ESRI shape file from the shape file and dbf file stream. Stream of ESRI shape file. Stream of DBF file. The ExtendedPropertySet for data from dbf-file. List of elements that will be placed on an information layer. Reads ESRI shape file from the shape file and dbf file stream. Stream of ESRI shape file. Stream of DBF file. The ExtendedPropertySet for data from dbf-file. The Coordinate Converter. List of elements that will be placed on an information layer. Reads ESRI shape file from the shape file and dbf file stream. Stream of ESRI shape file. Stream of DBF file. The ExtendedPropertySet for data from dbf-file. DBF-file encoding. List of elements that will be placed on an information layer. Reads ESRI shape file from the shape file and dbf file stream. Stream of ESRI shape file. Stream of DBF file. The ExtendedPropertySet for data from dbf-file. DBF-file encoding. The Coordinate Converter. List of elements that will be placed on an information layer. Reads ESRI shape file according to specified parameters. The parameters of shape-file reader. List of elements that will be placed on an information layer. Represents the parameters of shape-file reader. Stream of ESRI shape file. Stream of DBF file. DBF-file encoding. The ExtendedPropertySet for data from dbf-file. The Coordinate Converter. Initializes a new instance of the class. The route start. The route end. Paints the element to the specified graphics. The graphics. The viewport. Initializes a new instance of the class. The location. Initializes a new instance of the class. The element. Gets or sets the distance to the element or location. The distance. Gets or sets the maximal width. The maximum width. Gets or sets the padding. The padding. Gets the element this callout adorns. Resolves the entity references in the callout text ([$property]). The point. Gets or sets the padding. The padding. Gets a value indicating whether this instance is visible in the viewport. true if this instance is visible in the viewport.; otherwise, false. This class is used to aid the drawing of map visual elements. Initializes a new instance of the class. The path calculated with the provided offset. The offset used for calculating the path's points. The actual bounds as they would be calculated from the geographic location of the visual element. Occurs when an elevation calculation request is completed and the result is ready. Occurs when the request results in an error. Performs async elevation request. Calculates elevation for given list of latitude and longitude pairs. Alternatively can calculate the elevation of equally spaced points along a polyline. Elevation request. Occurs when a route calculation request is completed and the result is ready. Occurs when the request results in an error. Performs async routing request. Calculates a route between specified stops and returns route directions as well as other route data. Route request. Initializes a new instance of the class. Gets or sets the colors. The colors. Gets or sets the property values. The property values. Gets or sets the value provider. The value provider. Colorizes the element. The colorizable. Gets the color for the give value. The value. Color. Gets the information needed by the RadMap legend. The map element. List<MapLegendInfoItem>. Initializes a new instance of the class. The value. The name. Gets or sets the value. The value. Gets or sets the name. The name. A strongly-typed resource class, for looking up localized strings, etc. Returns the cached ResourceManager instance used by this class. Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class. Looks up a localized resource of type System.Drawing.Bitmap. Looks up a localized resource of type System.Drawing.Bitmap. Contains options for Hazardous materials. None. Combustible. Corrosive. Explosive. Flammable. Flammable solid. Gas. Goods harmful to water. Organic. Other. Poison. Poisonous when inhaled. Radioactive. Contains options for Hazardous permits. None. All appropriate for the current load. Combustible. Corrosive. Explosive. Flammable. Flammable solid. Gas. Organic. Poison. Poisonous when inhaled. Radioactive. Include a set of point (latitude and longitude) values that describe the route’s path in the response. Avoids the use of highways in the route. Avoids the use of toll roads in the route. Minimizes (tries to avoid) the use of highways in the route. Minimizes (tries to avoid) the use of toll roads in the route. Avoids crossing country borders in the route. Specify whether border crossing should be avoided, allowed, or minimized. Defines the list of regions that should be considered for Border Restriction. Avoid border or boundary crossing as specified in RestrictionList of . Minimize border or boundary crossing as specified in RestrictionList of . Restrict the route only through the specified regions as specified in RestrictionList of . The route is calculated to minimize the time. Traffic information is not used. The route is calculated to minimize the time and uses current traffic information. Specifies the road types to minimize or avoid when a route is created for the driving travel mode. Specifies the border crossing preference with respect to countries, dependent territories, special areas of geographical interest, states, subdivision, or provinces Specifies the distance before the first turn is allowed in the route. An integer distance specified in meters. Use this parameter to make sure that the moving vehicle has enough distance to make the first turn. Specifies the initial heading for the route. An integer value between 0 and 359 that represents degrees from north where north is 0 degrees and the heading is specified clockwise from north. For example, setting the heading of 270 degrees creates a route that initially heads west. Specifies what parameters to use to optimize the route Instructs the API to rearrange the route waypoints and reduce the route cost specified with the optimize parameter. The route first waypoint and last waypoint order is not changed, their position is considered fixed. Specify to include or exclude parts of the routes response. The units to use for distance in the response. When specified and the route is optimized for timeWithTraffic, predictive traffic data is used to calculate the best route for the specified date time of departure. A set of double values. Each value specifies a tolerance that is used to reduce the number of points needed to display a route on a map and still maintain the route shape. If a point is removed and the new route still falls within the specified tolerance of the old route, then the point is not included in the subset of points returned for that tolerance. The attributes that describe a vehicle. Initializes a new instance of the RouteRequest class. Gets or sets options used to refine the route request. Gets or sets a collection where each element represents a stop in the route. Elements could be or . Required. Gets or sets the address this waypoint represents. Gets or sets the latitude of this waypoint. Gets or sets the longitude of this waypoint. Gets or sets whether this point is a via waypoint. Represents the attributes that describe a vehicle. Used for . The unit of measurement of width, height, length. The unit of measurement of weight. The height of the vehicle in the specified dimension units. The width of the vehicle in the specified dimension units. The lenght of the vehicle in the specified dimension units. The weight of the vehicle in the specified weight units. The number of axles. The number of trailers. Indicates if the truck is pulling a semi-trailer. Semi-trailer restrictions are mostly used in North America. The maximum gradient the vehicle can drive measured in degrees. The minimum required radius for the vehicle to turn in the specified dimension units. Indicates if the vehicle shall avoid crosswinds. Indicates if the route shall avoid the risk of grounding. List of one or more hazardous materials for which the vehicle is transporting. List of one or more hazardous materials for which the vehicle has a permit. Specifies which sea level model to use to calculate elevation. Use the geoid Earth model (EGM2008 2.5'). Use the ellipsoid Earth model (WGS84). Initializes a new instance of the class. Gets or sets the type of the elevation to be calculated. The type of the elevation. Gets or sets a set of coordinates on the Earth to use in elevation calculations. The exact use of these points depends on the type of elevation request. The points. Gets or sets the rectangular area over which to provide elevation values. The bounds. Gets or sets the number of rows to use to divide the bounding box area into a grid. The rows that define the bounding box each count as two (2) of the rows. Elevation values are returned for all vertices of the grid. Integers with a value of two 2 or greater. The number of rows and columns can define a maximum of 1024 locations (rows * cols <= 1024). The rows. Gets or sets the number of columns to use to divide the bounding box area into a grid. The columns that define the bounding box each count as two (2) of the columns. Elevation values are returned for all vertices of the grid. Integers with a value of two 2 or greater. The number of rows and columns can define a maximum of 1024 locations (rows * cols <= 1024). The columns. Gets or sets the number of equally-spaced elevation values to provide along a polyline path. A positive integer. The maximum number of samples is 1024. The samples. Gets or sets the optional parameters for an elevation request. The options. Gets or sets user data. This data will be passed to the response which corresponds to this request. It can be used to identify request-response pair, for example. User data can be obtain from the response through the RequestUserData property. The user data. Defines the different types of elevation requests that can be performed. Get elevations for latitude and longitude coordinates. Required parameters of the : Points Get elevations at equally-spaced locations along a polyline path. Required parameters of the : Points, Samples Get elevations at equally-spaced locations within an area on the Earth defined as a bounding box. Required parameters of the : Bounds, Rows, Columns Get the offset of the geoid sea level Earth model from the ellipsoid Earth model at a set of latitude and longitude coordinates. Required parameters of the : Points Represents unified search request. Initializes a new instance of the class. A string containing the query to parse and match to a search result. Search options which can be used to refine the search request. Contains road types to minimize or avoid. Use all roads. Avoids the use of highways in the route. Avoids the use of toll roads in the route. Avoids the use of ferries in the route. Minimizes (tries to avoid) the use of highways in the route. Minimizes (tries to avoid) the use of toll roads in the route. Avoids crossing country borders in the route. Contains values that represent route calculation methods. The route is calculated to minimize the total distance. Traffic information is not used. The route is calculated to minimize the total time. Traffic information is not used. The route is calculated to minimize the time and uses current traffic information. The route is calculated to minimize the time and avoid road closures. Traffic information is not used. Contains properties used to refine a route service request. Initializes a new instance of the RouteOptions class. Gets or sets type of directions to return. The default value is TravelMode.Driving. Gets or sets the calculation method to use. The default value is RouteOptimization.MinimizeTime. Gets or sets whether to include or exclude parts of the routes response. The default value is RouteAttributes.ExcludeItinerary. Gets or sets value specifying how traffic information is used in the route calculation. The default value is TrafficUsage.None. Specifies the distance before the first turn is allowed in the route. This option only applies to the driving travel mode. An integer value between 0 and 359 that represents degrees from north where north is 0 degrees and the heading is specified clockwise from north. Specifies a series of tolerance values. Each value produces a subset of points that approximates the route that is described by the full set of points. When specified and the route is optimized for timeWithTraffic, predictive traffic data is used to calculate the best route for the specified date time. Specifies the maximum number of driving routes to return. Should be an integer value between 1 and 3. The default value is 1. Contains route attributes that modify the result returned by a route calculation request. Do not include detailed directions in the response. Detailed directions are provided as itinerary items and contain details such as written instructions and traffic location codes. Include a set of point (latitude and longitude) values that describe the route’s path in the response. Include only travel time and distance for the route, and do not provide other information. Used to specify the following attributes as a group: ExcluteItinerary and RoutePath. Contains the properties needed to make a CalculateRoute request. Initializes a new instance of the RouteRequest class. Gets or sets options used to refine the route request. Gets or sets a collection where each element represents a stop in the route. Required. Gets or sets a collection where each element represents a stop in the route. Elements could be or . Required. Contains travel modes for a route. The returned route contains driving directions. The returned route contains walking directions. Latitude,Longitude The response to a Bing Maps REST Services Imagery Metadata request. Gets or sets status code that offers additional information about authentication success or failure. Gets or sets a URL that references a brand image to support contractual branding requirements. Gets or sets a copyright notice. Gets or sets a collection of error descriptions. For example, ErrorDetails can identify parameter values that are not valid or missing. Gets or sets a collection of ResourceSet objects. A ResourceSet is a container of Resources returned by the request. Gets or sets the HTTP Status code for the request. Gets or sets the description of the HTTP status code. Gets or sets a unique identifier for the request. The ResourceSet container. Gets or sets an estimate of the total number of resources in the ResourceSet. Gets or sets a collection of one or more imagery metadata resources. The type of imagery. Aerial imagery. Aerial imagery with a road overlay. Aerial imagery with on-demand road overlay. Roads without additional imagery. Roads without additional imagery. Uses the dynamic tile service. A dark version of the road maps. A lighter version of the road maps which also has some of the details such as hill shading disabled. A grayscale version of the road maps. Ordnance Survey imagery. This imagery is visible only for the London area. Represents a point in cartesian coordinates represented with Int64 values. Initializes a new instance of the struct. The x. The y. Gets or sets the x coordinate. The x coordinate. Gets or sets the y coordinate. The y coordinate. Offsets this point with the specified delta. The delta x. The delta y. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a point in Geographic coordinate system, defined by Latitude and Longitude. Initializes a new instance of the struct. The latitude. The longitude. Gets or sets the latitude. The latitude. Gets or sets the longitude. The longitude. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a rectangle in cartesian coordinate system represented with Int64 values. Gets an empty RectangleL Initializes a new instance of the struct. The location. The size. Initializes a new instance of the struct. The x. The y. The width. The height. Gets or sets the x coordinate. The x coordinate. Gets or sets the y coordinate. The y coordinate. Gets or sets the width. The width. Gets or sets the height. The height. Gets the right coordinate. The right coordinate. Gets the bottom coordinate. The bottom coordinate. Gets or sets the location. The location. Gets or sets the size. The size. Gets a value indicating whether this rectangle intersects with the provided one. The rect. true if XXXX, false otherwise. Offsets this rectangle with the specified delta. The delta x. The delta y. Offsets this rectangle with the specified delta. The delta. Determines whether this rectangle contains the specified point. The point. true if this rectangle contains the specified point; otherwise, false. Determines whether this rectangle contains the specified point. The x. The y. true if this rectangle contains the specified point; otherwise, false. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a rectangle in Geographic coordinate system. Gets the bounding rectangle for the specified collection of points. The points. RectangleG. Initializes a new instance of the struct. The north. The west. The south. The east. Gets or sets the north-west corner of the rectangle. The north-west corner. Gets or sets the south-east corner of the rectangle. The south-east corner. Gets or sets the north. The north. Gets or sets the west. The west. Gets or sets the south. The south. Gets or sets the east. The east. Determines whether this rectangle contains the specified point. The location. true if this rectangle contains the specified point; otherwise, false. Gets a value indicating whether this rectangle intersects with the provided one. The rect. true if this rectangle intersects with the provided one, false otherwise. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a size in Geographic coordinate system. Initializes a new instance of the struct. The width. The height. Gets or sets the width. The width. Gets or sets the height. The height. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a size represented with Int64 values. Initializes a new instance of the struct. The width. The height. Gets or sets the width. The width. Gets or sets the height. The height. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Initializes a new instance of the class. Gets the providers collection of the map element. The providers. Gets the layers collection of the map element. The layers. Gets or sets the input behavior that will handle the user input. The input behavior. Gets a value indicating whether an animation is active. true if an animation is active; otherwise, false. Gets or sets the tile scale. This property is used for animations of the viewport. The tile scale. Gets or sets the tile offset. This property is used for animations of the viewport. The tile offset. Gets a collection of the selected elements. The selected elements. Gets or sets a value indicating whether zooming is allowed. Gets or sets a value indicating whether panning is allowed. Pans the viewport with the specified delta. The delta. Pans the viewport to the specified x and y coordinates. The x coordinate. The y coordinate. Zooms the viewport to the specified zoom level. The zoom level. Zooms the viewport to the specified zoom level. The zoom level. if set to true the zoom will be animated. Zooms the viewport to the specified zoom level. The zoom level. if set to true the zoom will be animated. The point in the viewport around where the zoom should be performed. Gets a value indicating whether updates are suspended. true if updates are suspended; otherwise, false. Suspends updates. Resumes updates and performs an update. Resumes updates and performs an update if specified by the update parameter. if set to true an update is performed. Called when a zoom animation finishes. The sender. The instance containing the event data. Called after the viewport changes. The change action. Called when a map provider is initialized. The map provider. Called when a provider updated occurs. The map provider that was updated. Brings the specified geo point into the center of the viewport. The location. Brings the specified geo point into the center of the viewport and zooms the viewport to the specified zoom level. The location. The zoom level. Calculates the best zoom level that will fit the specified rectangle and centers it in the viewport. The rectangle. Paints the element, the providers content and the layers. The graphics. Paints the zoom image whild a zoom animation is ongoing. The graphics. Paints the content of the providers. The graphics. Paints the content of the layers. The graphics. Occurs when the selection changed. Fires the event. The instance containing the event data. Occurs when the viewport changed. Fires the event. The instance containing the event data. Gets or sets the center of the viewport in geo coordinates. The center. Gets or sets the coordinates of the center of the viewport in pixels. The center pixel. Gets or sets the currently visible viewport in geo coordinates. The viewport. Gets or sets the viewport in pixels. The viewport in pixels. Gets or sets a value indicating whether wraparound is enabled. true if wraparound is enabled; otherwise, false. Gets the number of wraparounds visible in the viewport. The number of wraparounds. Gets or sets the current pan offset of the viewport in pixels. The pan offset. Gets or sets the current zoom level. The zoom level. Base class for all requests. Initializes a new instance of the BaseRequest class. The culture in which to return results. The culture. Gets or sets the current location of the user. Optional. Set this property before making a service request. The current location. Gets or sets the current ip of the user. Optional. IPv4 format. Set this property before making a service request. The current ip. Gets or sets distance unit. The distance unit. Gets or sets user data. This data will be passed to the response which corresponds to this request. It can be used to identify request-response pair, for example. User data can be obtain from the response through the RequestUserData property. The user data. This enumeration specifies map distance unit. The Kilometer unit. The Mile unit (1609.344 m). Initializes a new instance of the class. The selected elements. Gets the selected elements. The selected elements. Initializes a new instance of the class. The viewport. The action. Gets the viewport. The viewport. Gets the action. The action. Coordinate Converters converter. Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. An that provides a format context. A that represents the type you want to convert from. True if this converter can perform the conversion; otherwise, false. Returns whether this converter can convert the object to the specified type, using the specified context. An that provides a format context. A that represents the type you want to convert to. True if this converter can perform the conversion; otherwise, false. Converts the given object to the type of this converter, using the specified context and culture information. An that provides a format context. The to use as the current culture. The to convert. The conversion cannot be performed. An that represents the converted value. Converts the given value object to the specified type, using the specified context and culture information. An that provides a format context. A . If null is passed, the current culture is assumed. The to convert. The to convert the parameter to. The parameter is null. The conversion cannot be performed. An that represents the converted value. Returns whether this object supports a standard set of values that can be picked from a list, using the specified context. An that provides a format context. True if should be called to find a common set of values the object supports; otherwise, false. Returns a collection of standard values for the data type this type converter is designed for when provided with a format context. An that provides a format context that can be used to extract additional information about the environment from which this converter is invoked. This parameter or properties of this parameter can be null. A that holds a standard set of valid values, or null if the data type does not support a standard set of values. Convert co-ordinates between WGS-84 and EPSG:900913. Also known as EPSG:3857 and Pseudo-Mercator projection. Convert from the collection of coordinates are given in the form specific for the coordinate system other than WGS 1984 to the collection of the WGS 1984 coordinates. Collection of coordinates are given in the form specific for the coordinate system. Converted collection. Convert from the collection of coordinates are given in the WGS 1984 coordinates to the form specific for the coordinate system other than WGS 1984. Collection of coordinates are given in the form specific for the coordinate system. Converted collection. Converts from the latitude/longitude to the representation specific for the coordinate system other than WGS 1984. Location to be converter. Coordinate system specific location. Converts Location to Coordinate system specific string. Location. Coordinate system specific string. Convert OS grid reference to the WGS 1984 latitude/longitude. OS grid reference. Can be string which represents standard grid reference, or Point object which represents fully numeric reference. Location. Gets or sets extended property set which will be used during shape file (KML or ESRI) reading. Can be null. In this case extended property set will be created depends on the extended data available in the KML file or in the attributes file (DBF). Gets or sets the CoordinateConverter applied to the reader. Gets or sets the IEnumerable instance. Gets or sets the name of the geospatial data field. Reads shapes. Reads shapes. A user-defined object that is passed to the method invoked when the asynchronous operation completes. Reads shapes from the IEnumerable instance. The IEnumerable instance. The Name of property which contains geospatial data. Reads shapes from the IEnumerable instance. The IEnumerable instance. The Name of property which contains geospatial data. A user-defined object that is passed to the method invoked when the asynchronous operation completes. Reads shapes from the IEnumerable instance. The IEnumerable instance. The Name of property which contains geospatial data. if set to true read shapes are marked with this reader. A user-defined object that is passed to the method invoked when the asynchronous operation completes. List<MapVisualElement>. Resolves the entity references in the provided text ([$property]). The original text. The extended data. System.String. Gets the MapElement this behavior is associated with. Gets the maximum amount of zoom levels that can be changed at once when using the mouse wheel. Gets or sets the number of pixels the map is moved when using the keyboard keys to pan. Initializes a new instance of the class. Initializes a new instance of the class. The legend information provider. Creates a title element. MapLegendTitleElement. Creates a subtitle element. MapLegendTitleElement. Creates a stack layout element. StackLayoutElement. Creates a item stack layout element. StackLayoutElement. Gets or sets the legend information provider. The legend information provider. Gets the title element. The title element. Gets the title element. The title element. Gets the stack element. The stack element. Gets the item stack element. The item stack element. Gets or sets the converter used for converting an item to the text that will be displayed for it. The converter. Gets or sets the orientation of the items in the legend. The orientation. Gets or sets the item spacing when the orientation of the legend is vertical. The item spacing. Gets or sets the item spacing when the orientation of the legend is vertical. The item spacing. Initializes the items in the legend based on the LegendInfoProvider. Gets the display text for a given item. The item. System.String. Creates a map legend item element base on the provided item. The item. MapLegendItemElement. Initializes a new instance of the class. The text. The color. The item value. Gets or sets the text. The text. Gets or sets the color. The color. Gets or sets the value. The value. Creates the color element. MapLegendItemColorElement. Creates the text element. MapLegendItemTextElement. Initializes a new instance of the class. The item. The text. The color. Initializes a new instance of the class. The text. The color. Gets the item. The item. Gets the color element. The color element. Gets the text element. The text element. Gets or sets the orientation. The orientation. Creates a zoom in button. MapZoomInButton. Creates a zoom out button. MapZoomOutButton. Creates a view button. MapViewButton. Creates a navigation element. MapNavigationElement. Initializes a new instance of the class. The map element. Gets the map element. The map element. Gets the zoom in button. The zoom in button. Gets the zoom out button. The zoom out button. Gets the view button. The view button. Gets the map navigation element. The map navigation element. Gets the map element. The map element. Gets or sets the mini map mode. The mini map mode. Gets or sets the current zoom level. The zoom level. Gets or sets the zoom offset. This property is used when the MiniMapMode is set to OffsetZoom. The zoom offset. Gets the toggle mini map button. The toggle mini map button. Gets or sets the size of the mini map. The size of the mini map. Gets or sets a value indicating whether this instance is collapsed. true if this instance is collapsed; otherwise, false. Gets or sets the back color of the viewport control. The color of the viewport control back. Gets or sets the border color of the viewport control. The color of the viewport control border. Gets a value indicating whether a collapse or expand animation is currently active. Subscribes to the map viewport events that affect the mini map. Unsubscribes to the map viewport events that affect the mini map. Sets the map element. The map element. Sets the mini map mode. The mode. Called when a map provider is initialized. The map provider. Handles the MapElement ViewportChanged event. The sender. The instance containing the event data. Collapses the mini map. Expands the mini map. Paints the mini map when the mode is set to WholeWorld. The graphics. The angle. The scale. Paints the mini map when the mode is set to StaticZoom. The graphics. The angle. The scale. Paints the mini map when the mode is set to OffsetZoom. The graphics. The angle. The scale. Draws the viewport control rectangle. The graphics. The angle. The scale. Defines the different modes in which the RadMap mini map can operate. The mini map will show the whole world map at zoom level 1. The mini map will show a fixed zoom level at all times. Use the BringIntoView method to position the map at the required location and zoom level. The mini map will show a dynamic zoom level offset from the main map view. Use the ZoomLevelOffset property to define the offset. Initializes a new instance of the class. Gets the clustered items. The clustered items. Gets the items bounding rectangle. RectangleG. Generates the clusters. The items. The distance. The viewport. List<Cluster>. Gets the coordinates average of all items in the cluster. The cluster. PointG. Gets the square distance between two points. The location1. The location2. System.Double. Generates the clusters. The items. The distance. The viewport. List<Cluster>. Gets the closest cluster to the given point. The near cluster regions. The point. ClusterRegion. Gets the square distance between two points. The location1. The location2. System.Double. Initializes a new instance of the class. Gets or sets the colors. The colors. Gets or sets the color stops. The color stops. Gets or sets the value provider. The value provider. Colorizes the provided element. The colorizable. Tries the get the value of the given geometry. The colorizable. The value. true if XXXX, false otherwise. Gets the color for the given value. The value. Color. Gets the legend information need by the RadMap legend. The map element. List<MapLegendInfoItem>. Gets or sets the colors to be used by the colorizer. The colors. Colorizes the element. The colorizable. Gets the color of the colorizer. The element. Color. Initializes a new instance of the class. Name of the property. Gets or sets the name of the property that will be used to extract a value. The name of the property. Gets the value of the geometry specified by the PropertyName. The colorizable. System.Object. Initializes a new instance of the class. Initializes a new instance of the class. The name. Gets or sets the name. The name. Gets a value indicating whether updates are suspended. true if updates are suspended; otherwise, false. Gets or sets the cluster distance. The cluster distance. Gets or sets the cluster strategy. The cluster strategy. Gets or sets the colorization strategy. The colorization strategy. Gets the viewport. The viewport. Gets the overlays contained within this layer. The overlays. Gets the currently visible overlays in this layer. When cluster strategy is applied the visible overlays may differ from the user added ones. Adds the specified overlays to the layer. The items. Adds the specified overlays to the layer. The items. Called when the viewport is updated. The viewport. The action. Paints the layer to the specified graphics. The graphics. The viewport. Suspends updates. Resumes updates and performs an update. Resumes updates and performs an update based on the provided parameter if set to true an update is performed. Hit tests the overlays in the layer. The point. MapVisualElement. Hit tests the overlays in the layer. The point. MapVisualElement. Hit tests the overlays in the layer. The point g. The point l. MapVisualElement. Updates the colorizer color of all overlays. Called when the location property of an overlay changes. The EPSG:900913 Projection. Also known as EPSG:3857 and Pseudo-Mercator projection. Initializes a new instance of the EPSG900913Projection class. Calculate size of rectangle from base point. Base point (left-top). Size in kilometers. Size of rectangle in meters. Calculate size of rectangle from base point. Base point (left-top). Size in meters. Size of rectangle in kilometers. Represents map shape extended data. Initializes a new instance of the ExtendedData class. Set of the extended properties this extended data can operates with. Occurs when extended property changed in the extended data. Occurs when property changed. Implemented for binding. Return reference to self. This property can be used within Binding in XAML to implement binding which reflect extended property changes. Gets set of the extended properties this extended data can operates with. Gets value from object using format string. Format string. Formatted value. Format string can be specified in a few different ways: as simple name of the extended property, as formatted extended property, or as format string which can use number of the extended properties. // Using of the single extended property name. string value = extendedData["CNTRY_NAME"]; // Using of the formatted extended property. // The '|' character is used to separate extended property name and its output format. string value = extendedData["SUM_SQMI_A|F2"]; // Format string with number of the extended properties. string value = extendedData["{CNTRY_NAME} Miles: {SUM_SQMI_A|F2}, KM: {SUM_SQKM_A|F1}"]; ' Using of the single extended property name. Dim value as String = extendedData("CNTRY_NAME") ' Using of the formatted extended property. ' The '|' character is used to separate extended property name and its output format. Dim value as String = extendedData("SUM_SQMI_A|F2") Format string with number of the extended properties. Dim value as String = extendedData("{CNTRY_NAME} Miles: {SUM_SQMI_A|F2}, KM: {SUM_SQKM_A|F1}") Gets value from object using format string. Format string. Language. Formatted value. Format string can be specified in a few different ways: as simple name of the extended property, as formatted extended property, or as format string which can use number of the extended properties. // Using of the single extended property name. string value = extendedData["CNTRY_NAME"]; // Using of the formatted extended property. // The '|' character is used to separate extended property name and its output format. string value = extendedData["SUM_SQMI_A|F2"]; // Format string with number of the extended properties. string value = extendedData["{CNTRY_NAME} Miles: {SUM_SQMI_A|F2}, KM: {SUM_SQKM_A|F1}"]; ' Using of the single extended property name. Dim value as String = extendedData("CNTRY_NAME") ' Using of the formatted extended property. ' The '|' character is used to separate extended property name and its output format. Dim value as String = extendedData("SUM_SQMI_A|F2") Format string with number of the extended properties. Dim value as String = extendedData("{CNTRY_NAME} Miles: {SUM_SQMI_A|F2}, KM: {SUM_SQKM_A|F1}") Clones current instance. The clone. Gets value of the property. Name of the property. Property value. Gets value which indicates whether extended data contains specified property. Name of the property. True - when extended data contains specified property. Otherwise - false. Set default value to every extended property. Sets value of the property. Name of the property. Value to be set. Sets value of the property. Name of the property. Value to be set. Indicates whether the layout changed event should be fired. Value converter to access extended data properties from XAML. 2-way binding can't be specified. Converts a value. The value produced by the binding source. The type of the binding target property. The converter parameter to use. It can be specified in a few different ways: Simple name of the extended property. Formatted extended property. For example: "SUM_SQMI_A|F2". The '|' character is used to separate extended property name and its output format. Format string which can use number of the extended properties. For example: "{CNTRY_NAME} Miles: {SUM_SQMI_A|F2}, KM: {SUM_SQKM_A|F1}". The culture to use in the converter. A converted value. If the method returns null (Nothing in Visual Basic), the valid null value is used. Converts a binding target value to the source binding values. The value that the binding target produces. The array of types to convert to. The array length indicates the number and types of values that are suggested for the method to return. The converter parameter to use. The culture to use in the converter. An array of values that have been converted from the target value back to the source values. Get values from the extended data according to the format string. Extended data. Format string. Language. Formatted value. Represents extended property of the map shape. Initializes a new instance of the ExtendedProperty class. Name of the property. Display name of the property. Type of the property. Default value. Gets name of the property. Gets type of the property. Gets default value. Arguments of the property changed event. Extended property which has been changed. Old property value. New property value. Initializes a new instance of the ExtendedPropertyChangedEventArgs class. Extended property which has been changed. Old property value. New property value. Gets property which has been changed. Gets old value. Gets new value. Represents set of the extended properties. Initializes a new instance of the ExtendedPropertySet class. Initializes a new instance of the ExtendedPropertySet class. Serialization information. Streaming context. Gets extended property definition. Name of the extended property. Extended property definition or null. Converts a String representation of the ExtendedPropertySet into the equivalent ExtendedPropertySet class. The String representation of the ExtendedPropertySet class. The equivalent ExtendedPropertySet class. Register new property. Name of the property. Display name of the property. Type of the property. Default value. Prepares coordinates string. Coordinates. Prepared coordinates. Converts instances of other types to and from instances of ExtendedPropertySet. Gets a value that indicates whether this type converter can convert from a given type. ITypeDescriptorContext for this call. Type being queried for support. True if this converter can convert from the specified type; false otherwise. Attempts to convert to a Point3DCollection from the given object. The ITypeDescriptorContext for this call. The CultureInfo which is respected when converting. The object to convert to an instance of ExtendedPropertySet. ExtendedPropertySet that was constructed. Interface which must be implemented by any coordinate converter. Convert from the collection of coordinates are given in the form specific for the coordinate system other than WGS 1984 to the collection of the WGS 1984 coordinates. Collection of coordinates are given in the form specific for the coordinate system. Converted collection. Convert from the collection of coordinates are given in the WGS 1984 coordinates to the form specific for the coordinate system other than WGS 1984. Collection of coordinates are given in the form specific for the coordinate system. Converted collection. Converts from the latitude/longitude to the representation specific for the coordinate system other than WGS 1984. Location to be converter. Coordinate system location. Converts Location to Coordinate system specific string. Location. Coordinate system specific string. Converts from the coordinate system specific object to the WGS 1984 latitude/longitude. Coordinate system specific object. Location. Interface for the objects with ExtendedData. Gets or sets extended data. The OGC Spatial Reference requirements. The measurement units used to define the angles of a spheroid or ellipse associated with a specific datum. The datum is usually WGS (World Geodetic System) 1984 and the unit of measurement is a degree. The authority body that defines the standards for the spatial reference parameters. Spatial Reference is usually WGS 1984 and the authority is EPSG:4326. The line of longitude at the center of a map projection generally used as the basis for constructing the projection. This indicates the horizontal datum, which corresponds to the procedure used to measure positions on the surface of the Earth. This indicates the horizontal datum, which corresponds to the procedure used to measure positions on the surface of the Earth. The value added to all "x" values in the rectangular coordinate for a map projection. This value frequently is assigned to eliminate negative numbers. Expressed in the unit of measure identified in Planar Coordinate Units. The value added to all "y" values in the rectangular coordinates for a map projection. This value frequently is assigned to eliminate negative numbers. Expressed in the unit of measure identified in Planar Coordinate Units. A coordinate system based on latitude and longitude. Some geographic coordinate systems are Latitude/Longitude, and some are Longitude/Latitude. You can find out which this is by examining the axes. You should also check the angular units, since not all geographic coordinate systems use degrees. The latitude chosen as the origin of rectangular coordinate for a map projection. This defines the meridian used to take longitude measurements from. The units of the longitude must be inferred from the context. This defines the meridian used to take longitude measurements from. The units of the longitude must be inferred from the context. This describes a projection from geographic coordinates to projected coordinates. This describes a spheroid, which is an approximation of the Earth's surface as a squashed sphere. This describes a spheroid, which is an approximation of the Earth's surface as a squashed sphere. This describes a spheroid, which is an approximation of the Earth's surface as a squashed sphere. The line of constant latitude at which the surface of the Earth and the plane or developable surface intersect. The authority body that defines the unit of measurement i.e. European Petroleum Survey Group (EPSG). The unit of measurement is usually degrees and the authority for the datum the map uses, WGS 1984 is EPSG:4326. The minimum Latitude this tile source supports. The maximum Latitude this tile source supports. The minimum Longitude this tile source supports. The maximum Longitude this tile source supports. Converts a geographical coordinate (Longitude, Latitude) to a logical Point (0->1). The geographical coordinate (Longitude, Latitude). The logical Point. Converts a logical Point (0->1) to a geographical coordinate (Longitude, Latitude). The logical Point. The geographical coordinate (Longitude, Latitude). Calculate size of rectangle from base point. Base point (left-top). Size in kilometers. Size of rectangle in units of reference. Calculate size of rectangle from base point. Base point (left-top). Size in units of reference. Size of rectangle in kilometers. Convert co-ordinates between WGS-84 and OSGB36. Convert from the collection of coordinates are given in the form specific for the coordinate system other than WGS 1984 to the collection of the WGS 1984 coordinates. Collection of coordinates are given in the form specific for the coordinate system. Converted collection. Convert from the collection of coordinates are given in the WGS 1984 coordinates to the form specific for the coordinate system other than WGS 1984. Collection of coordinates are given in the form specific for the coordinate system. Converted collection. Converts from the latitude/longitude to the representation specific for the coordinate system other than WGS 1984. Location to be converter. Coordinate system specific location. Converts Location to Coordinate system specific string. Location. Coordinate system specific string. Convert OS grid reference to the WGS 1984 latitude/longitude. OS grid reference. Can be string which represents standard grid reference, or Point object which represents fully numeric reference. Location. Converts standard grid reference ('SU387148') to fully numeric ref ([438700,114800]). Returned co-ordinates are in meters, centered on grid square for conversion to latitude/longitude. Note that northern-most grid squares will give 7-digit northings no error-checking is done on the grid reference (bad input will give bad results or NaN). Standard grid reference. Fully numeric reference. Converts numeric grid reference (in meters) to standard-form grid ref. Eastings from the origin. Northings from the origin. Number of digits. Standard-form grid reference. Convert radians to degrees (signed). Convert degrees to radians. Degrees. Radians. The Proportional Projection. It is used for internal purposes for the OSGB1936 and EPSG900913 Projections only. Converts a geographical coordinate (Longitude, Latitude) to a logical Point (0->1). The geographical coordinate (Longitude, Latitude). The logical Point. Converts a logical Point (0->1) to a geographical coordinate (Longitude, Latitude). The logical Point. The geographical coordinate (Longitude, Latitude). The OGC Spatial Reference requirements. Half of PI. Degrees of one radiant. Gets or sets the measurement units used to define the angles of a spheroid or ellipse associated with a specific datum. The datum is WGS 1984 and the unit of measurement is a degree. Gets or sets the authority body that defines the standards for the spatial reference parameters. The Spatial Reference is WGS 1984 and the authority is EPSG:4326. Gets or sets the line of longitude at the center of a map projection generally used as the basis for constructing the projection. Gets or sets the horizontal datum, which corresponds to the procedure used to measure positions on the surface of the Earth. Gets or sets the horizontal datum, which corresponds to the procedure used to measure positions on the surface of the Earth. Gets or sets value added to all "x" values in the rectangular coordinate for a map projection. This value frequently is assigned to eliminate negative numbers. Expressed in the unit of measure identified in Planar Coordinate Units. Gets or sets value added to all "y" values in the rectangular coordinates for a map projection. This value frequently is assigned to eliminate negative numbers. Expressed in the unit of measure identified in Planar Coordinate Units. Gets or sets coordinate system based on latitude and longitude. Some geographic coordinate systems are Latitude/Longitude, and some are Longitude/Latitude. You can find out which this is by examining the axes. You should also check the angular units, since not all geographic coordinate systems use degrees. Gets or sets the latitude chosen as the origin of rectangular coordinate for a map projection. Gets or sets logical X offset to centre of earth. Gets or sets logical Y offset to centre of earth. Gets or sets the meridian used to take longitude measurements from. The units of the longitude must be inferred from the context. Gets or sets the meridian used to take longitude measurements from. The units of the longitude must be inferred from the context. Gets or sets a projection from geographic coordinates to projected coordinates. Gets or sets the real world coordinate scale at a given longitude. Gets or sets the real world coordinate scale at a given latitude. Gets or sets a spheroid, which is an approximation of the Earth's surface as a squashed sphere. Gets or sets a spheroid, which is an approximation of the Earth's surface as a squashed sphere. Gets or sets a spheroid, which is an approximation of the Earth's surface as a squashed sphere. Gets or sets the line of constant latitude at which the surface of the Earth and the plane or developable surface intersect. Gets or sets the authority body that defines the unit of measurement i.e. European Petroleum Survey Group (EPSG). The unit of measurement is usually degrees and the authority for the datum the map uses, WGS 1984 is EPSG:4326. The minimum Latitude this tile source supports. The maximum Latitude this tile source supports. The minimum Longitude this tile source supports. The maximum Longitude this tile source supports. Converts a geographical coordinate (Longitude, Latitude) to a logical Point (0->1). The geographical coordinate (Longitude, Latitude). The logical Point. Converts a logical Point (0->1) to a geographical coordinate (Longitude, Latitude). The logical Point. The geographical coordinate (Longitude, Latitude). Calculate size of rectangle from base point. Base point (left-top). Size in kilometers. Size of rectangle in degrees. Calculate size of rectangle from base point. Base point (left-top). Size in degrees. Size of rectangle in kilometers. Gets or sets the color specified by a colorization strategy. The color specified by a colorization strategy. Gets or sets extended data. The extended data. Called when the ExtendedData property changes. The sender. The instance containing the event data. Resolves the entity references in the callout text ([$property]). Initializes a new instance of the class. The points of the path. Gets the points of the path. The points. Initializes a new instance of the class. The location. Initializes a new instance of the class. The location. The size. Gets or sets the image. The image. Gets or sets the image scale. The image scale. Gets or sets the hot spot. The hot spot. Gets or sets the balloon style. The balloon style. Gets or sets the balloon data. The balloon data. Draws the text of this point. The graphics. The viewport. Initializes a new instance of the class. The outer boundary of this polygon. Initializes a new instance of the class. The outer boundary of this polygon. The inner boundaries of this polygon. Gets the points of the poligon. The points. Gets the outer boundary. The points. Gets the inner boundaries. The points. Initializes a new instance of the class. The points. Gets the points of the polyline. The points. Initializes a new instance of the class. The error. Initializes a new instance of the class. The error. Search options which can be used to refine the search request. Initializes a new instance of the SearchOptions class. Gets or sets value indicating if the response should include info on how the quesry was parsed. The default value is true. Gets or sets value specifying the number of search results to return. The default value is 5. Initializes a new instance of the class. The exception. Gets the exception that occurred. The exception. Initializes a new instance of the class. The locations. Initializes a new instance of the class. The locations. A user-defined object that is passed to the method invoked when the asynchronous operation completes Gets the search response. A user-defined object that is passed to the method invoked when the asynchronous operation completes. Initializes a new instance of the class. The tile information. Gets the tile information. The tile information. Initializes a new instance of the class. The location. Paints the element to the specified graphics. The graphics. The viewport. Initializes a new instance of the class. The points. Initializes a new instance of the class. The points. The geographic bounds. Paints the element to the specified graphics. The graphics. The viewport. Initializes a new instance of the class. The image. The rectangle. Gets the draw rectangle. The draw rectangle. Gets the image. The image. Gets a value indicating whether this instance is visible in the viewport. true if this instance is visible in the viewport.; otherwise, false. Paints the element to the specified graphics. The graphics. The viewport. Called when the viewport changes. The viewport. The action. Occurs when a route calculation request is completed and the result is ready. Occurs when the request results in an error. Performs async routing request. Calculates a route between specified stops and returns route directions as well as other route data. Route request. Occurs when a search request is completed and the result is ready. Occurs when the request results in an error. Performs async search request. Search request. Arguments of the RoutingCompleted event. Initializes a new instance of the class. The route. Initializes a new instance of the class. The route. A user-defined object that is passed to the method invoked when the asynchronous operation completes Initializes a new instance of the class. The routes returned by the service. Initializes a new instance of the class. The routes returned by the service. A user-defined object that is passed to the method invoked when the asynchronous operation completes Gets the routing response. Gets the routing response. A user-defined object that is passed to the method invoked when the asynchronous operation completes. Initializes a new instance of the class. The viewport. Gets the at the specified index. The index. Layer. Gets the with the specified name. The name. Layer. Hit tests the overlays in all layers. A point in geo coordinates. MapVisualElement. Hit tests the overlays in all layers. A point in map coordinates. MapVisualElement. Hit tests the overlays in all visible layers. A point in control coordinates. Suspends updates in all layers. Resumes updates in all layers. Clips a number to the specified minimum and maximum values. The number to clip. Minimum allowable value. Maximum allowable value. The clipped value. Determines the map width and height (in pixels) at a specified level of detail. Level of detail, from 1 (lowest detail) to 23 (highest detail). The map width and height in pixels. Determines the ground resolution (in meters per pixel) at a specified latitude and level of detail. Latitude (in degrees) at which to measure the ground resolution. Level of detail, from 1 (lowest detail) to 23 (highest detail). The ground resolution, in meters per pixel. Determines the map scale at a specified latitude, level of detail, and screen resolution. Latitude (in degrees) at which to measure the map scale. Level of detail, from 1 (lowest detail) to 23 (highest detail). Resolution of the screen, in dots per inch. The map scale, expressed as the denominator N of the ratio 1 : N. Converts a point from latitude/longitude WGS-84 coordinates (in degrees) into pixel XY coordinates at a specified level of detail. Location of the point, in degrees. Level of detail, from 1 (lowest detail) to 23 (highest detail). Converts a point from latitude/longitude WGS-84 coordinates (in degrees) into pixel XY coordinates at a specified level of detail. Latitude of the point, in degrees. Longitude of the point, in degrees. Level of detail, from 1 (lowest detail) to 23 (highest detail). Converts a point from latitude/longitude WGS-84 coordinates (in degrees) into pixel XY coordinates at a specified level of detail. Latitude of the point, in degrees. Longitude of the point, in degrees. Level of detail, from 1 (lowest detail) to 23 (highest detail). if set to true wraparound is allowed. Converts a pixel from pixel XY coordinates at a specified level of detail into latitude/longitude WGS-84 coordinates (in degrees). X and Y coordinates of the point, in pixels. Level of detail, from 1 (lowest detail) to 23 (highest detail). Converts a pixel from pixel XY coordinates at a specified level of detail into latitude/longitude WGS-84 coordinates (in degrees). X coordinate of the point, in pixels. Y coordinates of the point, in pixels. Level of detail, from 1 (lowest detail) to 23 (highest detail). Converts a pixel from pixel XY coordinates at a specified level of detail into latitude/longitude WGS-84 coordinates (in degrees). X coordinate of the point, in pixels. Y coordinates of the point, in pixels. Level of detail, from 1 (lowest detail) to 23 (highest detail). if set to true wraparound is allowed. PointG. Converts pixel XY coordinates into tile XY coordinates of the tile containing the specified pixel. Pixel X coordinate. Pixel Y coordinate. Converts tile XY coordinates into pixel XY coordinates of the upper-left pixel of the specified tile. Tile X coordinate. Tile Y coordinate. Converts tile XY coordinates into a QuadKey at a specified level of detail. Tile X coordinate. Tile Y coordinate. Level of detail, from 1 (lowest detail) to 23 (highest detail). A string containing the QuadKey. Converts a QuadKey into tile XY coordinates. QuadKey of the tile. Output parameter receiving the tile X coordinate. Output parameter receiving the tile Y coordinate. Output parameter receiving the level of detail. Retrieves a file from the cache. The name of the file to retrieve from the cache. Stream or null if the file does not exist. Retrieves a file from the cache asynchronously. The name of the file to retrieve from the cache. Callback which should be called to return the file. Stores a file to the cache. The name of the file to store in the cache. The date after which the cache for the file is considered expired. The content of the file as byte array. Initializes a new instance of the class. The cache directory path. Gets or sets the cache directory path. The cache directory path. Initializes a new instance of the class. Paints the element to the specified graphics. The graphics. The viewport. Called when the viewport changes. The viewport. The action. Gets or sets the location. The location. Gets the geographic bounds. The geographic bounds. Gets the layer this element is added to. The layer. Gets a value indicating whether this instance is visible in the viewport. true if this instance is visible in the viewport.; otherwise, false. Gets or sets a value indicating whether this instance is visible. true if this instance is visible; otherwise, false. Gets a value indicating whether this instance is selected. true if this instance is selected; otherwise, false. Gets or sets the fore color. The fore color. Gets or sets the font. The font. Gets or sets the text. The text. Gets or sets the text of the tool tip for this element. The tool tip text. Gets the geographic bounds of elements that consist of more than one figure. RectangleG[]. Hit tests the element. The point g. The point l. The viewport. true if XXXX, false otherwise. Initializes a new instance of the class. The owner. Gets the minimum zoom level. The minimum zoom level. Gets the maximum zoom level. The maximum zoom level. Gets the number of providers in the collection. The count. Gets the with the specified identifier. The identifier. IMapProvider. Gets the at the specified index. The index. IMapProvider. Updates the zoom levels. Adds the specified provider. The provider. Removes the specified provider. The provider. Handles the event of all providers. The sender. The instance containing the event data. Handles the event of all providers. The sender. The instance containing the event data. Initializes a new instance of the class. Gets or sets the Bing key. The bing key. Gets or sets a value indicating whether to use session key. true if session should be used; otherwise, false. Gets the session identifier. The session identifier. Gets or sets the culture. The culture. Gets or sets the imagery set. The imagery set. Gets or sets a value indicating whether this is currently in the initialization process. true if initializing; otherwise, false. Gets or sets a value indicating whether this is initialized. true if initialized; otherwise, false. Initializes this provider. Initialization of the session is completed. The sender. The instance containing the event data. Initializes the imagery service. Called when the imagery metadata initialization is complete. The sender. The instance containing the event data. Gets the tile uri. The tile matrix x. The tile matrix y. The zoom level. Uri. Gets the image of the tile info. The tile information. Called when an async file load is complete. Name of the file. The content. Called when a tile download is complete. The sender. The instance containing the event data. Gets the key for cache storage. The tile x. The tile y. The zoom level. System.String. Initializes a new instance of the class. Gets or sets a value indicating whether this is initialized. true if initialized; otherwise, false. Gets or sets the image URL. The image URL. Gets the tile url. The tile matrix x. The tile matrix y. The zoom level. Uri. Gets the image for the provided tile info. The tile information. Called when an asynchronous file loading is complete. Name of the file. The content. Gets the key for cache storing. The tile x. The tile y. The zoom level. System.String. Called when a tile download is complete. The sender. The instance containing the event data. Initializes a new instance of the class. Initializes a new instance of the class. The directory path. The file format. Gets or sets an image that will be displayed when a tile image cannot be retrieved or does not exist. The no image available. Gets or sets a value indicating whether this is initialized. true if initialized; otherwise, false. Loads the tile image. The x. The y. The zoom. Image. Initializes a new instance of the class. Gets a collection of WebHeaders that will be sent to the server with each tile download request. Begins a new tile download. The URI. The tile information. Called when the data download for the tile is complete. The sender. The instance containing the event data. Determines whether a failed download should be performed again. The error. true if XXXX, false otherwise. Cancels a ongoing tile download. The tile information. Occurs when a tile download is complete. Fires the event. The instance containing the event data. Initializes a new instance of the class. The tile x number. The tile y number. The zoom level. The content. The draw rect. Gets the tile x number. The tile x number. Gets the tile y number. The tile y number. Gets the zoom level. The zoom level. Gets the quadkey of the tile. The quadkey. Gets or sets the content of the tile. The content. Gets or sets the draw rect. The draw rect. Gets or sets the image. The image. Gets the providers collection of the map element. The providers. Gets the layers collection of the map element. The layers. Gets or sets the input behavior that will handle the user input. The input behavior. Gets a collection of the selected elements. The selected elements. Gets or sets a value indicating whether the mini map is visible. true if the mini map is visible; otherwise, false. Gets or sets a value indicating whether the legend is visible. true if the legend is visible; otherwise, false. Gets or sets a value indicating whether the search bar is visible. true if the search bar is visible; otherwise, false. Gets or sets a value indicating whether the navigation bar is visible. true if the navigation bar is visible; otherwise, false. Gets or sets a value indicating whether the scale indicator is visible. true if the scale indicator is visible; otherwise, false. This property is not relevant for this class. Pans the viewport with the specified delta. The delta. Pans the viewport to the specified x and y coordinates. The x coordinate. The y coordinate. Zooms the viewport to the specified zoom level. The zoom level. Zooms the viewport to the specified zoom level. The zoom level. if set to true the zoom will be animated. Zooms the viewport to the specified zoom level. The zoom level. if set to true the zoom will be animated. The point in the viewport around where the zoom should be performed. Gets a value indicating whether updates are suspended. true if updates are suspended; otherwise, false. Suspends updates. Resumes updates and performs an update. Resumes updates and performs an update if specified by the update parameter. if set to true an update is performed. Brings the specified geo point into the center of the viewport. The location. Brings the specified geo point into the center of the viewport and zooms the viewport to the specified zoom level. The location. The zoom level. Calculates the best zoom level that will fit the specified rectangle and centers it in the viewport. The rectangle. Occurs when a user clicks on a visual element in the layers. Initializes a new instance of the class. The navigation bar element. Creates a navigate north button. MapNavigationButton. Creates a navigate west button. MapNavigationButton. Creates a navigate south button. MapNavigationButton. Creates a navigate east button. MapNavigationButton. Gets the navigate north button. The navigate north button. Gets the navigate west button. The navigate west button. Gets the navigate south button. The navigate south button. Gets the navigate east button. The navigate east button. Gets the map element. The map element. Gets the navigation bar element. The navigation bar element. Gets or sets the navigation delta. This is the value in pixels by which each navigation button pans the viewport. The navigation delta. Handles the event. The sender. The instance containing the event data. Handles the event. The sender. The instance containing the event data. Handles the event. The sender. The instance containing the event data. Handles the event. The sender. The instance containing the event data. Initializes a new instance of the class. The name of the view. if set to true the view supports labels, which can be turned on or off. if set to true labels are enabled. if set to true if this is the current view. Gets or sets the name of the view. The name. Gets or sets a value indicating whether the view supports labels. true if the vuew supports labels; otherwise, false. Gets or sets a value indicating whether labels are enabled. true if labels are enabled; otherwise, false. Gets or sets a value indicating whether the view is the current view. true if the view is the current view; otherwise, false. Creates a map legend element. . Creates a search bar element. . Creates a map navigation bar element. . Creates a map scale indicator element. . Gets the mini map element. The mini map element. Gets the legend element. The legend element. Gets the search bar element. The search bar element. Gets the navigation bar element. The navigation bar element. Gets the scale indicator element. The scale indicator element. Gets or sets a value indicating whether the mini map is visible. true if the mini map is visible; otherwise, false. Gets or sets a value indicating whether the legend is visible. true if the legend is visible; otherwise, false. Gets or sets a value indicating whether the search bar is visible. true if the search bar is visible; otherwise, false. Gets or sets a value indicating whether the navigation bar is visible. true if the navigation bar is visible; otherwise, false. Gets or sets a value indicating whether the scale indicator is visible. true if the scale indicator is visible; otherwise, false. Gets or sets the size of the mini map. The size of the mini map. Gets or sets the navigation bar location. The navigation bar location. Defines the ViewportChangeActions that can happen. No changes The viewport was panned The viewport was zoomed Multiple changes of different type Initializes a new instance of the class. The map element. Gets the map element. The map element. Gets or sets the height of the bar. The height of the bar. Gets or sets the color of the metric bar. The color of the metric bar. Gets or sets the color of the imperial bar. The color of the imperial bar. Gets or sets the text displayed for meters. Gets or sets the text displayed for kilometers. Gets or sets the text displayed for feet. Gets or sets the text displayed for miles. Calculates the distance and text to be displayed in the indicator. SizeAndText. Calculates the distance and text to be displayed in the indicator in meters and feet. The maximum width in pixels. SizeAndText. Calculates the distance and text to be displayed in the indicator in kilometers and miles. The maximum width in pixels. SizeAndText. Gets an appropriate display scale distance. The distance. System.Int32. Creates a stack element. StackLayoutElement. Creates a search icon element. MapSearchIconElement. Creates a text box element. RadTextBoxElement. Initializes a new instance of the class. The map element. Gets the stack layout element. The stack layout element. Gets the search icon element. The search icon element. Gets the search text box element. The search text box element. Gets or sets the search mode. The search mode. Gets or sets the search provider. The search provider. Gets the map element. The map element. Gets or sets the width of the search bar. Gets or sets whether a message box will be shown upon an error when the has no set. In this case the search element will traverse the providers collection of and the provider will raise the SearchError event. The map element. Initiates a new search. First if there is an subscriber to the the event is raised. Search handling is left to the user. If there is no subscriber to the event the method checks the SearchProvider property. If the property is set a new async search is started. The user should handle the search result. If the property is not set the method traverses the providers in the Providers collection of the map element. If a search provider is found a new async search is started. The user should handle the search result. The criteria. Builds the search request based on the provided text. The text. SearchRequest. Occurs when the search criteria changes. Defines how search is performed in RadMap. A new search is initiated on every text change. A new search is initiated after a user confirmation. Represents an ARGB (alpha, red, green, blue) color. Represents a color that is null. 1 Gets a system-defined color. Gets a system-defined color that has an ARGB value of #FF000000. Gets a system-defined color that has an ARGB value of #FFFFFFFF. Gets a system-defined color that has an ARGB value of #FFF5F5F5. Gets a system-defined color that has an ARGB value of #FFD3D3D3. Gets the red component value of this structure. Gets the green component value of this structure. Gets the blue component value of this structure. Gets the alpha component value of this structure. Specifies whether this structure is uninitialized. This property returns true if this color is uninitialized; otherwise, false. 1 Tests whether two specified structures are equivalent. true if the two structures are equal; otherwise, false. The that is to the left of the equality operator. The that is to the right of the equality operator. 3 Tests whether two specified structures are different. true if the two structures are different; otherwise, false. The that is to the left of the inequality operator. The that is to the right of the inequality operator. 3 Creates a structure from the four ARGB component (alpha, red, green, and blue) values. Although this method allows a 32-bit value to be passed for each component, the value of each component is limited to 8 bits. The that this method creates. The alpha component. Valid values are 0 through 255. The red component. Valid values are 0 through 255. The green component. Valid values are 0 through 255. The blue component. Valid values are 0 through 255. , , , or is less than 0 or greater than 255. 1 Creates a structure from the specified 8-bit color values (red, green, and blue). The alpha value is implicitly 255 (fully opaque). Although this method allows a 32-bit value to be passed for each color component, the value of each component is limited to 8 bits. The that this method creates. The red component value for the new . Valid values are 0 through 255. The green component value for the new . Valid values are 0 through 255. The blue component value for the new . Valid values are 0 through 255. , , or is less than 0 or greater than 255. 1 Tests whether the specified object is a structure and is equivalent to this structure. true if is a structure equivalent to this structure; otherwise, false. The object to test. 1 Returns a hash code for this structure. An integer value that specifies the hash code for this . 1 Converts this structure to a human-readable string. Specifies the style of dashed lines drawn with a object. Specifies style information applied to text. Even class for handling keyboard events in . is control is pressed is 'A' key is pressed is 'C' key is pressed Init. is control is pressed is 'A' key is pressed is 'C' key is pressed Even class for handling keyboard events in . Is the left mouse button participated in the event Init. Is the left mouse button participated in the event Represents an ordered pair of floating-point x- and y-coordinates that defines a point in a two-dimensional plane. Represents a new instance of the class with member data left uninitialized. 1 Initializes a new instance of the class with the specified coordinates. The horizontal position of the point. The vertical position of the point. Gets a value indicating whether this is empty. true if both and are 0; otherwise, false. 1 Gets or sets the x-coordinate of this . The x-coordinate of this . 1 Gets or sets the y-coordinate of this . The y-coordinate of this . 1 Translates the by the specified . The translated . The to translate. The that specifies the numbers to add to the x- and y-coordinates of the . Translates a by the negative of a specified . The translated . The to translate. The that specifies the numbers to subtract from the coordinates of . Compares two structures. The result specifies whether the values of the and properties of the two structures are equal. true if the and values of the left and right structures are equal; otherwise, false. A to compare. A to compare. 3 Determines whether the coordinates of the specified points are not equal. true to indicate the and values of and are not equal; otherwise, false. A to compare. A to compare. 3 Translates a given by a specified . The translated . The to translate. The that specifies the numbers to add to the coordinates of . Translates a by the negative of a specified size. The translated . The to translate. The that specifies the numbers to subtract from the coordinates of . Specifies whether this contains the same coordinates as the specified . This method returns true if is a and has the same coordinates as this . The to test. 1 Returns a hash code for this structure. An integer value that specifies a hash value for this structure. 1 Converts this to a human readable string. A string that represents this . 1 Stores a set of four floating-point numbers that represent the location and size of a rectangle. Represents an instance of the class with its members uninitialized. Initializes a new instance of the class with the specified location and size. The x-coordinate of the upper-left corner of the rectangle. The y-coordinate of the upper-left corner of the rectangle. The width of the rectangle. The height of the rectangle. Initializes a new instance of the class with the specified location and size. A that represents the upper-left corner of the rectangular region. A that represents the width and height of the rectangular region. Gets or sets the coordinates of the upper-left corner of this structure. A that represents the upper-left corner of this structure. Gets or sets the size of this . A that represents the width and height of this structure. Gets or sets the x-coordinate of the upper-left corner of this structure. The x-coordinate of the upper-left corner of this structure. Gets or sets the y-coordinate of the upper-left corner of this structure. The y-coordinate of the upper-left corner of this structure. Gets or sets the width of this structure. The width of this structure. Gets or sets the height of this structure. The height of this structure. Gets the x-coordinate of the left edge of this structure. The x-coordinate of the left edge of this structure. Gets the y-coordinate of the top edge of this structure. The y-coordinate of the top edge of this structure. Gets the x-coordinate that is the sum of and of this structure. The x-coordinate that is the sum of and of this structure. Gets the y-coordinate that is the sum of and of this structure. The y-coordinate that is the sum of and of this structure. Tests whether the or property of this has a value of zero. This property returns true if the or property of this has a value of zero; otherwise, false. Tests whether two structures have equal location and size. This operator returns true if the two specified structures have equal , , , and properties. The structure that is to the left of the equality operator. The structure that is to the right of the equality operator. Tests whether two structures differ in location or size. This operator returns true if any of the , , , or properties of the two structures are unequal; otherwise false. The structure that is to the left of the inequality operator. The structure that is to the right of the inequality operator. Creates a structure with upper-left corner and lower-right corner at the specified locations. The new that this method creates. The x-coordinate of the upper-left corner of the rectangular region. The y-coordinate of the upper-left corner of the rectangular region. The x-coordinate of the lower-right corner of the rectangular region. The y-coordinate of the lower-right corner of the rectangular region. Tests whether is a with the same location and size of this . This method returns true if is a and its X, Y, Width, and Height properties are equal to the corresponding properties of this ; otherwise, false. The to test. Determines if the specified point is contained within this structure. This method returns true if the point defined by and is contained within this structure; otherwise false. The x-coordinate of the point to test. The y-coordinate of the point to test. Determines if the specified point is contained within this structure. This method returns true if the point represented by the parameter is contained within this structure; otherwise false. The to test. Determines if the rectangular region represented by is entirely contained within this structure. This method returns true if the rectangular region represented by is entirely contained within the rectangular region represented by this ; otherwise false. The to test. Inflates this structure by the specified amount. The amount to inflate this structure horizontally. The amount to inflate this structure vertically. Inflates this by the specified amount. The amount to inflate this rectangle. Creates and returns an inflated copy of the specified structure. The copy is inflated by the specified amount. The original rectangle remains unmodified. The inflated . The to be copied. This rectangle is not modified. The amount to inflate the copy of the rectangle horizontally. The amount to inflate the copy of the rectangle vertically. Replaces this structure with the intersection of itself and the specified structure. The rectangle to intersect. Returns a structure that represents the intersection of two rectangles. If there is no intersection, and empty is returned. A third structure the size of which represents the overlapped area of the two specified rectangles. A rectangle to intersect. A rectangle to intersect. Determines if this rectangle intersects with . This method returns true if there is any intersection. The rectangle to test. Creates the smallest possible third rectangle that can contain both of two rectangles that form a union. A third structure that contains both of the two rectangles that form the union. A rectangle to union. A rectangle to union. Adjusts the location of this rectangle by the specified amount. The amount to offset the location. Adjusts the location of this rectangle by the specified amount. The amount to offset the location horizontally. The amount to offset the location vertically. Gets the hash code for this structure. For information about the use of hash codes, see Object.GetHashCode. The hash code for this Converts the Location and Size of this to a human-readable string. A string that contains the position, width, and height of this structure for example, "{X=20, Y=20, Width=100, Height=50}". Stores an ordered pair of floating-point numbers, typically the width and height of a rectangle. Gets a structure that has a and value of 0. A structure that has a and value of 0. 1 Initializes a new instance of the structure from the specified existing structure. The structure from which to create the new structure. Initializes a new instance of the structure from the specified structure. The structure from which to initialize this structure. Initializes a new instance of the structure from the specified dimensions. The width component of the new structure. The height component of the new structure. Gets a value that indicates whether this structure has zero width and height. This property returns true when this structure has both a width and height of zero; otherwise, false. 1 Gets or sets the horizontal component of this structure. The horizontal component of this structure, typically measured in pixels. 1 Gets or sets the vertical component of this structure. The vertical component of this structure, typically measured in pixels. 1 Converts the specified structure to a structure. The structure to which this operator converts. The structure to be converted Adds the width and height of one structure to the width and height of another structure. A structure that is the result of the addition operation. The first structure to add. The second structure to add. 3 Subtracts the width and height of one structure from the width and height of another structure. A that is the result of the subtraction operation. The structure on the left side of the subtraction operator. The structure on the right side of the subtraction operator. 3 Tests whether two structures are equal. This operator returns true if and have equal width and height; otherwise, false. The structure on the left side of the equality operator. The structure on the right of the equality operator. 3 Tests whether two structures are different. This operator returns true if and differ either in width or height; false if and are equal. The structure on the left of the inequality operator. The structure on the right of the inequality operator. 3 Adds the width and height of one structure to the width and height of another structure. A structure that is the result of the addition operation. The first structure to add. The second structure to add. Subtracts the width and height of one structure from the width and height of another structure. A structure that is a result of the subtraction operation. The structure on the left side of the subtraction operator. The structure on the right side of the subtraction operator. Tests to see whether the specified object is a structure with the same dimensions as this structure. This method returns true if is a and has the same width and height as this ; otherwise, false. The to test. 1 Returns a hash code for this structure. An integer value that specifies a hash value for this structure. 1 Converts a structure to a structure. Returns a structure. Creates a human-readable string that represents this structure. A string that represents this structure. 1 Platform adapter to bridge platform specific objects to HTML Renderer core library.
Core uses abstract renderer objects (RAdapter/RControl/REtc...) to access platform specific functionality, the concrete platforms implements those objects to provide concrete platform implementation. Those allowing the core library to be platform agnostic. Platforms: WinForms, WPF, Metro, PDF renders, etc.
Objects: UI elements(Controls), Graphics(Render context), Colors, Brushes, Pens, Fonts, Images, Clipboard, etc.
It is best to have a singleton instance of this class for concrete implementation!
This is because it holds caches of default CssData, Images, Fonts and Brushes.
cache of brush color to brush instance cache of pen color to pen instance cache of all the font used not to create same font again and again default CSS parsed data singleton image used to draw loading image icon image used to draw error image icon Init. Get the default CSS stylesheet data. Resolve color value from given color name. the color name color value Get cached pen instance for the given color. the color to get pen for pen instance Get cached solid brush instance for the given color. the color to get brush for brush instance Get linear gradient color brush from to . the rectangle to get the brush for the start color of the gradient the end color of the gradient the angle to move the gradient from start color to end color in the rectangle linear gradient color brush instance Convert image object returned from to . the image returned from load event converted image or null Create an object from the given stream. the stream to create image from new image instance Check if the given font exists in the system by font family name. the font name to check true - font exists by given family name, false - otherwise Adds a font family to be used. The font family to add. Adds a font mapping from to iff the is not found.
When the font is used in rendered html and is not found in existing fonts (installed or added) it will be replaced by .
the font family to replace the font family to replace with
Get font instance by given font family name, size and style. the font family name font size font style font instance Get image to be used while HTML image is loading. Get image to be used if HTML image load failed. Get data object for the given html and plain text data.
The data object can be used for clipboard or drag-drop operation.
Not relevant for platforms that don't render HTML on UI element.
the html data the plain text data drag-drop data object
Set the given text to the clipboard
Not relevant for platforms that don't render HTML on UI element.
the text to set
Set the given html and plain text data to clipboard.
Not relevant for platforms that don't render HTML on UI element.
the html data the plain text data
Set the given image to clipboard.
Not relevant for platforms that don't render HTML on UI element.
the image object to set to clipboard
Create a context menu that can be used on the control
Not relevant for platforms that don't render HTML on UI element.
new context menu
Save the given image to file by showing save dialog to the client.
Not relevant for platforms that don't render HTML on UI element.
the image to save the name of the image for save dialog the extension of the image for save dialog optional: the control to show the dialog on
Get font instance by given font family name, size and style. the font family name font size font style font instance Get font instance by given font family instance, size and style.
Used to support custom fonts that require explicit font family instance to be created.
the font family instance font size font style font instance
Resolve color value from given color name. the color name color value Get cached pen instance for the given color. the color to get pen for pen instance Get cached solid brush instance for the given color. the color to get brush for brush instance Get linear gradient color brush from to . the rectangle to get the brush for the start color of the gradient the end color of the gradient the angle to move the gradient from start color to end color in the rectangle linear gradient color brush instance Convert image object returned from to . the image returned from load event converted image or null Create an object from the given stream. the stream to create image from new image instance Get font instance by given font family name, size and style. the font family name font size font style font instance Get font instance by given font family instance, size and style.
Used to support custom fonts that require explicit font family instance to be created.
the font family instance font size font style font instance
Get data object for the given html and plain text data.
The data object can be used for clipboard or drag-drop operation.
the html data the plain text data drag-drop data object
Set the given text to the clipboard the text to set Set the given html and plain text data to clipboard. the html data the plain text data Set the given image to clipboard. Create a context menu that can be used on the control new context menu Save the given image to file by showing save dialog to the client. the image to save the name of the image for save dialog the extension of the image for save dialog optional: the control to show the dialog on Adapter for platform specific brush objects - used to fill graphics (rectangles, polygons and paths).
The brush can be solid color, gradient or image.
Adapter for platform specific context menu - used to create and show context menu at specific location.
Not relevant for platforms that don't render HTML on UI element.
The total number of items in the context menu Add divider item to the context menu.
The divider is a non clickable place holder used to separate items.
Add item to the context menu with the given text that will raise the given event when clicked. the text to set on the new context menu itemif to set the item as enabled or disabledthe event to raise when the item is clicked Remove the last item from the context menu iff it is a divider Show the context menu in the given parent control at the given location. the parent control to show inthe location to show at relative to the parent control Adapter for platform specific control object - used to handle updating the control that the html is rendered on.
Not relevant for platforms that don't render HTML on UI element.
The platform adapter. Init control with platform adapter. The platform adapter. Is the left mouse button is currently in pressed state Is the right mouse button is currently in pressed state Get the current location of the mouse relative to the control Set the cursor over the control to default cursor Set the cursor over the control to hand cursor Set the cursor over the control to I beam cursor Do drag-drop copy operation for the given data object. the drag-drop data object Measure the width of string under max width restriction calculating the number of characters that can fit and the width those characters take.
the string to measure the font to measure string with the max width to calculate fit characters the number of characters that will fit under the maxWidth restriction the width that only the characters that fit into max width take
Invalidates the entire surface of the control and causes the control to be redrawn. Adapter for platform specific font object - used to render text using specific font. Gets the em-size of this Font measured in the units specified by the Unit property. The line spacing, in pixels, of this font. Get the vertical offset of the font underline location from the top of the font. Get the left padding, in pixels, of the font. Adapter for platform specific font family object - define the available font families to use.
Required for custom fonts handling: fonts that are not installed on the system.
Gets the name of this Font Family. Adapter for platform specific graphics rendering object - used to render graphics and text in platform specific context.
The core HTML Renderer components use this class for rendering logic, extending this class in different platform: WinForms, WPF, Metro, PDF, etc.
the global adapter The clipping bound stack as clips are pushed/poped to/from the graphics The suspended clips Init. Get color pen. the color to get the pen for pen instance Get solid color brush. the color to get the brush for solid color brush instance Get linear gradient color brush from to . the rectangle to get the brush for the start color of the gradient the end color of the gradient the angle to move the gradient from start color to end color in the rectangle linear gradient color brush instance Gets a Rectangle structure that bounds the clipping region of this Graphics. A rectangle structure that represents a bounding rectangle for the clipping region of this Graphics. Pop the latest clip push. Push the clipping region of this Graphics to interception of current clipping rectangle and the given rectangle. Rectangle to clip to. Push the clipping region of this Graphics to exclude the given rectangle from the current clipping rectangle. Rectangle to exclude clipping in. Restore the clipping region to the initial clip. Resumes the suspended clips. Set the graphics smooth mode to use anti-alias.
Use to return back the mode used.
the previous smooth mode before the change
Return to previous smooth mode before anti-alias was set as returned from . the previous mode to set Get TextureBrush object that uses the specified image and bounding rectangle. The Image object with which this TextureBrush object fills interiors. A Rectangle structure that represents the bounding rectangle for this TextureBrush object. The dimension by which to translate the transformation Get GraphicsPath object. graphics path instance Measure the width and height of string when drawn on device context HDC using the given font . the string to measure the font to measure string with the size of the string Measure the width of string under max width restriction calculating the number of characters that can fit and the width those characters take.
Not relevant for platforms that don't render HTML on UI element.
the string to measure the font to measure string with the max width to calculate fit characters the number of characters that will fit under maxWidth restriction the width that only the characters that fit into max width take
Draw the given string using the given font and foreground color at given location. the string to draw the font to use to draw the string the text color to set the location to start string draw (top-left) used to know the size of the rendered text for transparent text support is to render the string right-to-left (true - RTL, false - LTR) Draws a line connecting the two points specified by the coordinate pairs. Pen that determines the color, width, and style of the line. The x-coordinate of the first point. The y-coordinate of the first point. The x-coordinate of the second point. The y-coordinate of the second point. Draws a rectangle specified by a coordinate pair, a width, and a height. A Pen that determines the color, width, and style of the rectangle. The x-coordinate of the upper-left corner of the rectangle to draw. The y-coordinate of the upper-left corner of the rectangle to draw. The width of the rectangle to draw. The height of the rectangle to draw. Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height. Brush that determines the characteristics of the fill. The x-coordinate of the upper-left corner of the rectangle to fill. The y-coordinate of the upper-left corner of the rectangle to fill. Width of the rectangle to fill. Height of the rectangle to fill. Draws the specified portion of the specified at the specified location and with the specified size. Image to draw. Rectangle structure that specifies the location and size of the drawn image. The image is scaled to fit the rectangle. Rectangle structure that specifies the portion of the object to draw. Draws the specified Image at the specified location and with the specified size. Image to draw. Rectangle structure that specifies the location and size of the drawn image. Draws a GraphicsPath. Pen that determines the color, width, and style of the path. GraphicsPath to draw. Fills the interior of a GraphicsPath. Brush that determines the characteristics of the fill. GraphicsPath that represents the path to fill. Fills the interior of a polygon defined by an array of points specified by Point structures. Brush that determines the characteristics of the fill. Array of Point structures that represent the vertices of the polygon to fill. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Adapter for platform specific graphics path object - used to render (draw/fill) path shape. Start path at the given point. Add stright line to the given point from te last point. Add circular arc of the given size to the given point from the last point. Release path resources. The 4 corners that are handled in arc rendering. Adapter for platform specific image object - used to render images. Get the width, in pixels, of the image. Get the height, in pixels, of the image. Adapter for platform specific pen objects - used to draw graphics (lines, rectangles and paths) Gets or sets the width of this Pen, in units of the Graphics object used for drawing. Gets or sets the style used for dashed lines drawn with this Pen. Holds parsed stylesheet css blocks arranged by media and classes.
To learn more about CSS blocks visit CSS spec: http://www.w3.org/TR/CSS21/syndata.html#block
used to return empty array dictionary of media type to dictionary of css class name to the cssBlocks collection with all the data. Init. Parse the given stylesheet to object.
If is true the parsed css blocks are added to the default css data (as defined by W3), merged if class name already exists. If false only the data in the given stylesheet is returned.
Platform adapter the stylesheet source to parse true - combine the parsed css data with default css data, false - return only the parsed css data the parsed css data
dictionary of media type to dictionary of css class name to the cssBlocks collection with all the data Check if there are css blocks for the given class selector. the class selector to check for css blocks by optional: the css media type (default - all) true - has css blocks for the class, false - otherwise Get collection of css blocks for the requested class selector.
the can be: class name, html element name, html element and class name (elm.class), hash tag with element id (#id).
returned all the blocks that word on the requested class selector, it can contain simple selector or hierarchy selector.
the class selector to get css blocks by optional: the css media type (default - all) collection of css blocks, empty collection if no blocks exists (never null)
Add the given css block to the css data, merging to existing block if required. If there is no css blocks for the same class it will be added to data collection.
If there is already css blocks for the same class it will check for each existing block if the hierarchical selectors match (or not exists). if do the two css blocks will be merged into one where the new block properties overwrite existing if needed. if the new block doesn't mach any existing it will be added either to the beginning of the list if it has no hierarchical selectors or at the end.
Css block without hierarchical selectors must be added to the beginning of the list so more specific block can overwrite it when the style is applied.
the media type to add the CSS to the css block to add
Combine this CSS data blocks with CSS blocks for each media.
Merge blocks if exists in both.
the CSS data to combine with
Create deep copy of the css data with cloned css blocks. cloned object CSS Specification's Default Style Sheet for HTML 4 http://www.w3.org/TR/CSS21/sample.html Border types Represents a CSS Box of text or replaced elements. The Box can contains other boxes, that's the way that the CSS Tree is composed. To know more about boxes visit CSS spec: http://www.w3.org/TR/CSS21/box.html the parent css box of this css box in the hierarchy the root container for the hierarchy the html tag that is associated with this css box, null if anonymous box the inner text of the box Do not use or alter this flag Flag that indicates that CssTable algorithm already made fixes on it. handler for loading background image Init. optional: the parent of this css box in html optional: the html tag associated with this css box Gets the HtmlContainer of the Box. WARNING: May be null. Gets or sets the parent box of this box Gets the children boxes of this box Is the box is of "br" element. is the box "Display" is "Inline", is this is an inline box and not block. is the box "Display" is "Block", is this is an block box and not inline. Is the css box clickable (by default only "a" element is clickable) Gets a value indicating whether this instance or one of its parents has Position = fixed. true if this instance is fixed; otherwise, false. Get the href link of the box (by default get "href" attribute) Gets the containing block-box of this box. (The nearest parent box with display=block) Gets the HTMLTag that hosts this box Gets if this box represents an image Tells if the box is empty or contains just blank spaces Gets or sets the inner text of the box Gets the line-boxes of this box (if block box) Gets the linebox(es) that contains words of this box (if inline) Gets the rectangles where this box should be painted Gets the BoxWords of text in the box Gets the first word of the box Gets or sets the first linebox where content of this box appear Gets or sets the last linebox where content of this box appear Create new css box for the given parent with the given html tag.
the html tag to define the box the box to add the new box to it as child the new box
Create new css box for the given parent with the given optional html tag and insert it either at the end or before the given optional box.
If no html tag is given the box will be anonymous.
If no before box is given the new box will be added at the end of parent boxes collection.
If before box doesn't exists in parent box exception is thrown.
To learn more about anonymous inline boxes visit: http://www.w3.org/TR/CSS21/visuren.html#anonymous the box to add the new box to it as child optional: the html tag to define the box optional: to insert as specific location in parent box the new box
Create new css block box. the new block box Create new css block box for the given parent with the given optional html tag and insert it either at the end or before the given optional box.
If no html tag is given the box will be anonymous.
If no before box is given the new box will be added at the end of parent boxes collection.
If before box doesn't exists in parent box exception is thrown.
To learn more about anonymous block boxes visit CSS spec: http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level the box to add the new block box to it as child optional: the html tag to define the box optional: to insert as specific location in parent box the new block box
Measures the bounds of box and children, recursively.
Performs layout of the DOM structure creating lines by set bounds restrictions.
Device context to use
Paints the fragment Device context to use Set this box in Move all child boxes from to this box. the box to move all its child boxes from Splits the text into words and saves the result Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Measures the bounds of box and children, recursively.
Performs layout of the DOM structure creating lines by set bounds restrictions.
Device context to use
Assigns words its width and height Get the parent of this css properties instance. Gets the index of the box to be used on a (ordered) list Creates the Searches for the first word occurrence inside the box, on the specified linebox Gets the specified Attribute, returns string.Empty if no attribute specified Attribute to retrieve Attribute value or string.Empty if no attribute specified Gets the value of the specified attribute of the source HTML tag. Attribute to retrieve Value to return if attribute is not specified Attribute value or defaultValue if no attribute specified Gets the minimum width that the box can be.
The box can be as thin as the longest word plus padding.
The check is deep thru box tree.
the min width of the box
Gets the longest word (in width) inside the box, deeply. Get the total margin value (left and right) from the given box to the given end box.
the box to start calculation from. the total margin
Gets the maximum bottom of the boxes inside the startBox Get the and width of the box content.
The minimum width the content must be so it won't overflow (largest word + padding). The total width the content can take without line wrapping (with padding).
Get the and of the box words content and .
the box to calculate for the width that allows for each word to fit (width of the longest word) the max width a single line of words can take without wrapping the total amount of padding the content has
Gets if this box has only inline siblings (including itself) Gets the rectangles where inline box will be drawn. See Remarks for more info. Rectangles where content should be placed Inline boxes can be split across different LineBoxes, that's why this method Delivers a rectangle for each LineBox related to this box, if inline. Inherits inheritable values from parent. Gets the result of collapsing the vertical margins of the two boxes the previous box under the same parent Resulting top margin Calculate the actual right of the box by the actual right of the child boxes if this box actual right is not set. the calculated actual right value Gets the result of collapsing the vertical margins of the two boxes Resulting bottom margin Deeply offsets the top of the box and its contents Paints the fragment the device to draw to Paints the background of the box the device to draw into the bounding rectangle to draw in is it the first rectangle of the element is it the last rectangle of the element Paint all the words in the box. the device to draw into the current scroll offset to offset the words Paints the text decoration (underline/strike-through/over-line) the device to draw into Offsets the rectangle of the specified linebox by the specified gap, and goes deep for rectangles of children in that linebox. Resets the array On image load process complete with image request refresh for it to be painted. the image loaded or null if failed the source rectangle to draw in the image (empty - draw everything) is the callback was called async to load image call Get brush for the text depending if there is selected text color set. Get brush for selection background depending if it has external and if alpha is required for images. used for images so they will have alpha effect ToString override. CSS box for iframe element.
If the iframe is of embedded YouTube or Vimeo video it will show image with play.
the image word of this image box is the iframe is of embeded video the title of the video the url of the video thumbnail image link to the video on the site handler used for image loading by source is image load is finished, used to know if no image is found Init. the parent box of this box the html tag data of this box Is the css box clickable ("a" element is clickable) Get the href link of the box (by default get "href" attribute) is the iframe is of embeded video Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Load YouTube video data (title, image, link) by calling YouTube API. Parse YouTube API response to get video data (title, image, link). Load Vimeo video data (title, image, link) by calling Vimeo API. Parse Vimeo API response to get video data (title, image, link). Handle error occurred during video data load to handle if the video was not found. the exception that occurred during data load web request the name of the video source (YouTube/Vimeo/Etc.) Create image handler for downloading video image if found and release the WebClient instance used for API call. Paints the fragment the device to draw to Draw video image over the iframe if found. Draw video title on top of the iframe if found. Draw play over the iframe if we found link url. Assigns words its width and height the device to use Set error image border on the image box. On image load process is complete with image or without update the image box. the image loaded or null if failed the source rectangle to draw in the image (empty - draw everything) is the callback was called async to load image call CSS box for hr element. Init. the parent box of this box the html tag data of this box Measures the bounds of box and children, recursively.
Performs layout of the DOM structure creating lines by set bounds restrictions.
Device context to use
Paints the fragment the device to draw to CSS box for image element. the image word of this image box handler used for image loading by source is image load is finished, used to know if no image is found Init. the parent box of this box the html tag data of this box Get the image of this image box. Paints the fragment the device to draw to Assigns words its width and height the device to use Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Set error image border on the image box. On image load process is complete with image or without update the image box. the image loaded or null if failed the source rectangle to draw in the image (empty - draw everything) is the callback was called async to load image call Base class for css box to handle the css properties.
Has field and property for every css property that can be set, the properties add additional parsing like setting the correct border depending what border value was set (single, two , all four).
Has additional fields to control the location and size of the box and 'actual' css values for some properties that require additional calculations and parsing.
Gets or sets the location of the box Gets or sets the size of the box the width of whitespace between words Gets or sets the location of the box Gets or sets the size of the box Gets the bounds of the box Gets the width available on the box, counting padding and margin. Gets the right of the box. When setting, it will affect only the width of the box. Gets or sets the bottom of the box. (When setting, alters only the Size.Height of the box) Gets the left of the client rectangle (Where content starts rendering) Gets the top of the client rectangle (Where content starts rendering) Gets the right of the client rectangle Gets the bottom of the client rectangle Gets the client rectangle Gets the actual height Gets the actual height Gets the actual top's padding Gets the actual padding on the left Gets the actual Padding of the bottom Gets the actual padding on the right Gets the actual top's Margin The margin top value if was effected by margin collapse. Gets the actual Margin on the left Gets the actual Margin of the bottom Gets the actual Margin on the right Gets the actual top border width Gets the actual Left border width Gets the actual Bottom border width Gets the actual Right border width Gets the actual top border Color Gets the actual Left border Color Gets the actual Bottom border Color Gets the actual Right border Color Gets the actual length of the north west corner Gets the actual length of the north east corner Gets the actual length of the south east corner Gets the actual length of the south west corner Gets a value indicating if at least one of the corners of the box is rounded Gets the actual width of whitespace between words. Gets the actual color for the text. Gets the actual background color of the box Gets the second color that creates a gradient for the background Gets the actual angle specified for the background gradient Gets the actual font of the parent Gets the font that should be actually used to paint the text of the box Gets the line height Gets the text indentation (on first line only) Gets the actual horizontal border spacing for tables Gets the actual vertical border spacing for tables Get the parent of this css properties instance. Gets the height of the font in the specified units Ensures that the specified length is converted to pixels if necessary Set the style/width/color for all 4 borders on the box.
if null is given for a value it will not be set.
optional: the style to set optional: the width to set optional: the color to set
Measures the width of whitespace between words (set ). Inherits inheritable values from specified box. Set to true to inherit all CSS properties instead of only the ineritables Box to inherit the properties Helps on CSS Layout. Measure image box size by the width\height set on the box and the actual rendered image size.
If no image exists for the box error icon will be set.
the image word to measure
Creates line boxes for the specified blockbox Applies special vertical alignment for table-cells Recursively flows the content of the box using the inline model Device Info Blockbox that contains the text flow Current box to flow its content Maximum reached right Space to use between rows of text x starting coordinate for when breaking lines of text Current linebox being used Current x coordinate that will be the left of the next word Current y coordinate that will be the top of the next word Maximum right reached so far Maximum bottom reached so far Adjust the position of absolute elements by letf and top margins. Recursively creates the rectangles of the blockBox, by bubbling from deep to outside of the boxes in the rectangle structure Applies vertical and horizontal alignment to words in lineboxes Applies right to left direction to words Applies RTL direction to all the words on the line. the line to apply RTL to Applies RTL direction to specific box words on the line. Applies vertical alignment to the linebox Applies centered alignment to the text on the linebox Applies centered alignment to the text on the linebox Applies right alignment to the text on the linebox Simplest alignment, just arrange words. todo: optimizate, not creating a list each time Layout engine for tables executing the complex layout of tables with rows/columns/headers/etc. the main box of the table collection of all rows boxes collection of all columns boxes Init. Get the table cells spacing for all the cells in the table.
Used to calculate the spacing the table has in addition to regular padding and borders.
the table box to calculate the spacing for the calculated spacing
Analyzes the Table and assigns values to this CssTable object. To be called from the constructor Get the table boxes into the proper fields. Insert EmptyBoxes for vertical cell spanning. Determine Row and Column Count, and ColumnWidths While table width is larger than it should, and width is reductable.
If table max width is limited by we need to lower the columns width even if it will result in clipping
Check for minimum sizes (increment widths if necessary) Layout the cells by the calculated table layout Gets the spanned width of a cell (With of all columns it spans minus one). Gets the cell column index checking its position and other cells colspans Gets the cells width, taking colspan and being in the specified column Gets the colspan of the specified box Gets the rowspan of the specified box Recursively measures words inside the box the box to measure Device to use Tells if the columns widths can be reduced, by checking the minimum widths of all cells Tells if the specified column can be reduced, by checking its minimum width Gets the available width for the whole table. It also sets the value of WidthSpecified The table's width can be larger than the result of this method, because of the minimum size that individual boxes. Gets the available width for the whole table. It also sets the value of WidthSpecified The table's width can be larger than the result of this method, because of the minimum size that individual boxes. Calculate the min and max width for each column of the table by the content in all rows.
the min width possible without clipping content
the max width the cell content can take without wrapping
if to measure only columns that have no calculated width return the min width for each column - the min width possible without clipping content return the max width for each column - the max width the cell content can take without wrapping
Gets the width available for cells It takes away the cell-spacing from Gets the current sum of column widths Gets the span attribute of the tag of the specified box Gets the minimum width of each column Gets the actual horizontal spacing of the table Gets the actual horizontal spacing of the table Gets the actual vertical spacing of the table Represents and gets info about a CSS Length http://www.w3.org/TR/CSS21/syndata.html#length-units Creates a new CssLength from a length specified on a CSS style sheet or fragment Length as specified in the Style Sheet or style fragment Gets the number in the length Gets if the length has some parsing error Gets if the length represents a precentage (not actually a length) Gets if the length is specified in relative units Gets the unit of the length Gets the length as specified in the string If length is in Ems, returns its value in points Em size factor to multiply Points size of this em If length has an error or isn't in ems If length is in Ems, returns its value in pixels Pixel size factor to multiply Pixels size of this em If length has an error or isn't in ems Returns the length formatted ready for CSS interpreting. Represents a line of text. To learn more about line-boxes see CSS spec: http://www.w3.org/TR/CSS21/visuren.html Creates a new LineBox Gets a list of boxes related with the linebox. To know the words of the box inside this linebox, use the method. Gets the words inside the linebox Gets the owner box Gets a List of rectangles that are to be painted on this linebox Get the height of this box line (the max height of all the words) Get the bottom of this box line (the max bottom of all the words) Lets the linebox add the word an its box to their lists if necessary. Return the words of the specified box that live in this linebox Updates the specified rectangle of the specified box. Copies the rectangles to their specified box Sets the baseline of the words of the specified box to certain height Device info box to check words baseline Check if the given word is the last selected word in the line.
It can either be the last word in the line or the next word has no selection.
the word to check
Returns the words of the linebox Represents a word inside an inline box Because of performance, words of text are the most atomic element in the project. It should be characters, but come on, imagine the performance when drawing char by char on the device.
It may change for future versions of the library.
the CSS box owner of the word Rectangle If the word is selected this points to the selection handler for more data Init. the CSS box owner of the word Gets the Box where this word belongs. Gets or sets the bounds of the rectangle Left of the rectangle Top of the rectangle Width of the rectangle Get the full width of the word including the spacing. Gets the actual width of whitespace between words. Height of the rectangle Gets or sets the right of the rectangle. When setting, it only affects the Width of the rectangle. Gets or sets the bottom of the rectangle. When setting, it only affects the Height of the rectangle. If the word is selected this points to the selection handler for more data was there a whitespace before the word chars (before trim) was there a whitespace after the word chars (before trim) Gets the image this words represents (if one exists) Gets if the word represents an image. Gets a bool indicating if this word is composed only by spaces. Spaces include tabs and line breaks Gets if the word is composed by only a line break Gets the text of the word is the word is currently selected the selection start index if the word is partially selected (-1 if not selected or fully selected) the selection end index if the word is partially selected (-1 if not selected or fully selected) the selection start offset if the word is partially selected (-1 if not selected or fully selected) the selection end offset if the word is partially selected (-1 if not selected or fully selected) Gets or sets an offset to be considered in measurements Represents this word for debugging purposes Represents a word inside an inline box the image object if it is image word (can be null if not loaded) the image rectangle restriction as returned from image load event Creates a new BoxWord which represents an image the CSS box owner of the word Gets the image this words represents (if one exists) Gets if the word represents an image. the image rectange restriction as returned from image load event Represents this word for debugging purposes Represents a word inside an inline box The word text was there a whitespace before the word chars (before trim) was there a whitespace after the word chars (before trim) Init. the CSS box owner of the word the word chars was there a whitespace before the word chars (before trim) was there a whitespace after the word chars (before trim) was there a whitespace before the word chars (before trim) was there a whitespace after the word chars (before trim) Gets a bool indicating if this word is composed only by spaces. Spaces include tabs and line breaks Gets if the word is composed by only a line break Gets the text of the word Represents this word for debugging purposes Used to make space on vertical cell combination the index of the row where box starts the index of the row where box ends Gets the index of the row where box starts Gets the index of the row where box ends Represents the possible units of the CSS lengths http://www.w3.org/TR/CSS21/syndata.html#length-units CSS boxes that have ":hover" selector on them. the box that has :hover css on the :hover style block data Init. the box that has :hover css on the :hover style block data the name of the html tag if the tag is single placed; in other words it doesn't have a separate closing tag; collection of attributes and their value the html tag has Init. the name of the html tag if the tag is single placed; in other words it doesn't have a separate closing tag; collection of attributes and their value the html tag has Gets the name of this tag Gets collection of attributes and their value the html tag has Gets if the tag is single placed; in other words it doesn't have a separate closing tag;
e.g. <br>
is the html tag has attributes. true - has attributes, false - otherwise Gets a boolean indicating if the attribute list has the specified attribute attribute name to check if exists true - attribute exists, false - otherwise Get attribute value for given attribute name or null if not exists. attribute name to get by optional: value to return if attribute is not specified attribute value or null if not found Represents a block of CSS property values.
Contains collection of key-value pairs that are CSS properties for specific css class.
Css class can be either custom or html tag name.
To learn more about CSS blocks visit CSS spec: http://www.w3.org/TR/CSS21/syndata.html#block
the name of the css class of the block the CSS block properties and values additional selectors to used in hierarchy (p className1 > className2) is the css block has :hover pseudo-class Creates a new block from the block's source the name of the css class of the block the CSS block properties and values optional: additional selectors to used in hierarchy optional: is the css block has :hover pseudo-class the name of the css class of the block additional selectors to used in hierarchy (p className1 > className2) Gets the CSS block properties and its values is the css block has :hover pseudo-class Merge the other block properties into this css block.
Other block properties can overwrite this block properties.
the css block to merge with
Create deep copy of the CssBlock. new CssBlock with same data Check if the two css blocks are the same (same class, selectors and properties). the other block to compare to true - the two blocks are the same, false - otherwise Check if the selectors of the css blocks is the same. the other block to compare to true - the selectors on blocks are the same, false - otherwise Check if the two css blocks are the same (same class, selectors and properties). the other block to compare to true - the two blocks are the same, false - otherwise Serves as a hash function for a particular type. A hash code for the current . Returns a that represents the current . Holds single class selector in css block hierarchical selection (p class1 > div.class2) the name of the css class of the block is the selector item has to be direct parent Creates a new block from the block's source the name of the css class of the block the name of the css class of the block is the selector item has to be direct parent Returns a that represents the current . Controls the way styles are generated when html is generated. styles are not generated at all style are inserted in style attribute for each html tag style section is generated in the head of the html Callback used in to allow setting image externally and async.
The callback can provide path to image file path, URL or the actual image to use.
If is given (not ) then only the specified rectangle will be used from the loaded image and not all of it, also the rectangle will be used for size and not the actual image size.
the path to the image to load (file path or URL) the image to use optional: limit to specific rectangle in the loaded image
Invoked when an image is about to be loaded by file path, URL or inline data in 'img' element or background-image CSS style.
Allows to overwrite the loaded image by providing the image object manually, or different source (file or URL) to load from.
Example: image 'src' can be non-valid string that is interpreted in the overwrite delegate by custom logic to resource image object
Example: image 'src' in the html is relative - the overwrite intercepts the load and provide full source URL to load the image from
Example: image download requires authentication - the overwrite intercepts the load, downloads the image to disk using custom code and provide file path to load the image from. Can also use the asynchronous image overwrite not to block HTML rendering is applicable.
If no alternative data is provided the original source will be used.
use to cancel the image loading by html renderer, the provided image will be used. the source of the image (file path or uri) collection of all the attributes that are defined on the image element Callback used to allow setting image externally and async. Init. the source of the image (file path or Uri) collection of all the attributes that are defined on the image element Callback used to allow setting image externally and async. the source of the image (file path, URL or inline data) collection of all the attributes that are defined on the image element or CSS style Indicate the image load is handled asynchronously. Cancel this image loading and overwrite the image asynchronously using callback method.
Callback to overwrite the loaded image with error image.
Can be called directly from delegate handler or asynchronously after setting to True.
Callback to overwrite the loaded image with image to load from given URI.
Can be called directly from delegate handler or asynchronously after setting to True.
the path to the image to load (file path or URL)
Callback to overwrite the loaded image with image to load from given URI.
Can be called directly from delegate handler or asynchronously after setting to True.
Only the specified rectangle (x,y,width,height) will be used from the loaded image and not all of it, also the rectangle will be used for size and not the actual image size.
the path to the image to load (file path or URL) optional: limit to specific rectangle of the image and not all of it optional: limit to specific rectangle of the image and not all of it optional: limit to specific rectangle of the image and not all of it optional: limit to specific rectangle of the image and not all of it
Callback to overwrite the loaded image with given image object.
Can be called directly from delegate handler or asynchronously after setting to True.
If imageRectangle is given (not ) then only the specified rectangle will be used from the loaded image and not all of it, also the rectangle will be used for size and not the actual image size.
the image to load
Callback to overwrite the loaded image with given image object.
Can be called directly from delegate handler or asynchronously after setting to True.
Only the specified rectangle (x,y,width,height) will be used from the loaded image and not all of it, also the rectangle will be used for size and not the actual image size.
the image to load optional: limit to specific rectangle of the image and not all of it optional: limit to specific rectangle of the image and not all of it optional: limit to specific rectangle of the image and not all of it optional: limit to specific rectangle of the image and not all of it
Raised when the user clicks on a link in the html. the link href that was clicked collection of all the attributes that are defined on the link element use to cancel the execution of the link Init. the link href that was clicked the link href that was clicked collection of all the attributes that are defined on the link element use to cancel the execution of the link Exception thrown when client code subscribed to LinkClicked event thrown exception. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The message that describes the error. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Raised when html renderer requires refresh of the control hosting (invalidation and re-layout).
It can happen if some async event has occurred that requires re-paint and re-layout of the html.
Example: async download of image is complete.
is re-layout is required for the refresh Init. is re-layout is required for the refresh is re-layout is required for the refresh Raised when an error occurred during html rendering. error type that is reported the error message the exception that occurred (can be null) Init. the type of error to report the error message optional: the exception that occurred error type that is reported the error message the exception that occurred (can be null) Enum of possible error types that can be reported. Raised when Html Renderer request scroll to specific location.
This can occur on document anchor click.
the location to scroll to Init. the location to scroll to the x location to scroll to the x location to scroll to Invoked when a stylesheet is about to be loaded by file path or URL in 'link' element.
Allows to overwrite the loaded stylesheet by providing the stylesheet data manually, or different source (file or URL) to load from.
Example: The stylesheet 'href' can be non-valid URI string that is interpreted in the overwrite delegate by custom logic to pre-loaded stylesheet object
If no alternative data is provided the original source will be used.
the source of the stylesheet as found in the HTML (file path or URL) collection of all the attributes that are defined on the link element provide the new source (file path or URL) to load stylesheet from provide the stylesheet to load provide the stylesheet data to load Init. the source of the image (file path or URL) collection of all the attributes that are defined on the image element the source of the stylesheet as found in the HTML (file path or URL) collection of all the attributes that are defined on the link element provide the new source (file path or URL) to load stylesheet from provide the stylesheet to load provide the stylesheet data to load Holds data on link element in HTML.
Used to expose data outside of HTML Renderer internal structure.
the id of the link element if present the href data of the link the rectangle of element as calculated by html layout Init. the id of the link element if present the href data of the link the rectangle of element as calculated by html layout Is the link is directed to another element in the html Return the id of the element this anchor link is referencing. Contains all the paint code to paint different background images. Draw the background image of the given box in the given rectangle.
Handle background-repeat and background-position values.
the device to draw into the box to draw its background image the handler that loads image to draw the rectangle to draw image in
Get top-left location to start drawing the image at depending on background-position value. the background-position value the rectangle to position image in the size of the image the top-left location Draw the background image at the required location repeating it over the X axis.
Adjust location to left if starting location doesn't include all the range (adjusted to center or right).
Draw the background image at the required location repeating it over the Y axis.
Adjust location to top if starting location doesn't include all the range (adjusted to center or bottom).
Draw the background image at the required location repeating it over the X and Y axis.
Adjust location to left-top if starting location doesn't include all the range (adjusted to center or bottom/right).
Contains all the complex paint code to paint different style borders. used for all border paint to use the same points and not create new array each time. Draws all the border of the box with respect to style, width, etc. the device to draw into the box to draw borders for the bounding rectangle to draw in is it the first rectangle of the element is it the last rectangle of the element Draw simple border. Desired border the device to draw to Box which the border corresponds the brush to use the bounding rectangle to draw in Beveled border path, null if there is no rounded corners Draw specific border (top/bottom/left/right) with the box data (style/width/rounded).
desired border to draw the box to draw its borders, contain the borders data the device to draw into the rectangle the border is enclosing Specifies if the border is for a starting line (no bevel on left) Specifies if the border is for an ending line (no bevel on right)
Set rectangle for inset/outset border as it need diagonal connection to other borders. Desired border Box which the border corresponds the rectangle the border is enclosing Specifies if the border is for a starting line (no bevel on left) Specifies if the border is for an ending line (no bevel on right) Beveled border path, null if there is no rounded corners Makes a border path for rounded borders.
To support rounded dotted/dashed borders we need to use arc in the border path.
Return null if the border is not rounded.
the device to draw into Desired border Box which the border corresponds the rectangle the border is enclosing Beveled border path, null if there is no rounded corners
Get pen to be used for border draw respecting its style. Get the border color for the given box border. Get the border width for the given box border. Get the border style for the given box border. Makes the specified color darker for inset/outset borders. Handle context menu. select all text copy selected text copy the link source open link (as left mouse click) copy the source of the image copy image to clipboard save image to disk open video in browser copy video url to browser the selection handler linked to the context menu handler the html container the handler is on the last context menu shown the control that the context menu was shown on the css rectangle that context menu shown on the css link box that context menu shown on Init context menu items strings. Init. the selection handler linked to the context menu handler the html container the handler is on Show context menu clicked on given rectangle. the parent control to show the context menu on the rectangle that was clicked to show context menu the link that was clicked to show context menu on Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. 2 Dispose of the last used context menu. Handle link click. Copy the href of a link to clipboard. Open save as dialog to save the image Copy the image source to clipboard. Copy image object to clipboard. Copy selected text. Select all text. Utilities for fonts and fonts families handling. Allow to map not installed fonts to different collection of all installed and added font families to check if font exists cache of all the font used not to create same font again and again Init. Check if the given font family exists by name the font to check true - font exists by given family name, false - otherwise Adds a font family to be used. The font family to add. Adds a font mapping from to iff the is not found.
When the font is used in rendered html and is not found in existing fonts (installed or added) it will be replaced by .
the font family to replace the font family to replace with
Get cached font instance for the given font properties.
Improve performance not to create same font multiple times.
cached font instance
Get cached font if it exists in cache or null if it is not. create font (try using existing font family to support custom fonts) On download file async complete, success or fail. The online image uri the path to the downloaded file the error if download failed is the file download request was canceled Handler for downloading images from the web.
Single instance of the handler used for all images downloaded in a single html, this way if the html contains more than one reference to the same image it will be downloaded only once.
Also handles corrupt, partial and canceled downloads by first downloading to temp file and only if successful moving to cached file location.
the web client used to download image from URL (to cancel on dispose) dictionary of image cache path to callbacks of download to handle multiple requests to download the same image Makes a request to download the image from the server and raises the cachedFileCallback when it's down.
The online image uri the path on disk to download the file to is to download the file sync or async (true-async) This callback will be called with local file path. If something went wrong in the download it will return null.
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Download the requested file in the URI to the given file path.
Use async sockets API to download from web, .
Download the requested file in the URI to the given file path.
Use async sockets API to download from web, .
key value pair of URL and file info to download the file to
On download image complete to local file.
If the download canceled do nothing, if failed report error.
Checks if the file was downloaded and raises the cachedFileCallback from Release the image and client objects. Handler for all loading image logic.

Loading by .
Loading by file path.
Loading by URI.

Supports sync and async image loading. If the image object is created by the handler on calling dispose of the handler the image will be released, this makes release of unused images faster as they can be large.
Disposing image load handler will also cancel download of image from the web.
the container of the html to handle load image for callback raised when image load process is complete with image or without Must be open as long as the image is in use the image instance of the loaded image the image rectangle restriction as returned from image load event to know if image load event callback was sync or async raised flag to indicate if to release the image object on box dispose (only if image was loaded by the box) is the handler has been disposed Init. the container of the html to handle load image for callback raised when image load process is complete with image or without the image instance of the loaded image the image rectangle restriction as returned from image load event Set image of this image box by analyzing the src attribute.
Load the image from inline base64 encoded string.
Or from calling property/method on the bridge object that returns image or URL to image.
Or from file path
Or from URI.
File path and URI image loading is executed async and after finishing calling on the main thread and not thread-pool. the source of the image to load the collection of attributes on the element to use in event the image object (null if failed)
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Set the image using callback from load image event, use the given data. the path to the image to load (file path or uri) the image to load optional: limit to specific rectangle of the image and not all of it Load the image from inline base64 encoded string data. the source that has the base64 encoded image Extract image object from inline base64 encoded data in the src of the html img element. the source that has the base64 encoded image image from base64 data string or null if failed Load image from path of image file or URL. the file path or uri to load image from Load the image file on thread-pool thread and calling after. the file path to get the image from Load the image file on thread-pool thread and calling after.
Calling on the main thread and not thread-pool.
the file path to get the image from
Load image from the given URI by downloading it.
Create local file name in temp folder from the URI, if the file already exists use it as it has already been downloaded. If not download the file.
On download image complete to local file use to load the image file.
If the download canceled do nothing, if failed report error.
Flag image load complete and request refresh for re-layout and invalidate. Release the image and client objects. Handler for text selection in the html. the root of the handled html tree handler for showing context menu on right click the mouse location when selection started used to ignore small selections the starting word of html selection
where the user started the selection, if the selection is backwards then it will be the last selected word.
the ending word of html selection
where the user ended the selection, if the selection is backwards then it will be the first selected word.
the selection start index if the first selected word is partially selected (-1 if not selected or fully selected) the selection end index if the last selected word is partially selected (-1 if not selected or fully selected) the selection start offset if the first selected word is partially selected (-1 if not selected or fully selected) the selection end offset if the last selected word is partially selected (-1 if not selected or fully selected) is the selection goes backward in the html, the starting word comes after the ending word in DFS traversing.
used to ignore mouse up after selection current selection process is after double click (full word selection) used to know if selection is in the control or started outside so it needs to be ignored used to handle drag and drop is the cursor on the control has been changed by the selection handler used to know if double click selection is requested used to know if drag and drop was already started not to execute the same operation over Init. the root of the handled html tree Select all the words in the html. the control hosting the html to invalidate Select the word at the given location if found. the control hosting the html to invalidate the location to select word at Handle mouse down to handle selection. the control hosting the html to invalidate the location of the mouse on the html Handle mouse up to handle selection and link click. the control hosting the html to invalidate is the left mouse button has been released is the mouse up should be ignored Handle mouse move to handle hover cursor and text selection. the control hosting the html to set cursor and invalidate the location of the mouse on the html On mouse leave change the cursor back to default. the control hosting the html to set cursor and invalidate Copy the currently selected html segment to clipboard.
Copy rich html text and plain text.
Get the currently selected text segment in the html.
Copy the currently selected html segment with style.
The selection start index if the first selected word is partially selected (-1 if not selected or fully selected)
if the given word is not starting or ending selection word -1 is returned as full word selection is in place.
Handles backward selecting by returning the selection end data instead of start. the word to return the selection start index for data value or -1 if not applicable
The selection end index if the last selected word is partially selected (-1 if not selected or fully selected)
if the given word is not starting or ending selection word -1 is returned as full word selection is in place.
Handles backward selecting by returning the selection end data instead of start. the word to return the selection end index for
The selection start offset if the first selected word is partially selected (-1 if not selected or fully selected)
if the given word is not starting or ending selection word -1 is returned as full word selection is in place.
Handles backward selecting by returning the selection end data instead of start. the word to return the selection start offset for
The selection end offset if the last selected word is partially selected (-1 if not selected or fully selected)
if the given word is not starting or ending selection word -1 is returned as full word selection is in place.
Handles backward selecting by returning the selection end data instead of start. the word to return the selection end offset for
Clear the current selection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. 2 Handle html text selection by mouse move over the html with left mouse button pressed.
Calculate the words in the selected range and set their selected property.
the control hosting the html to invalidate the mouse location true - partial word selection allowed, false - only full words selection
Clear the selection from all the words in the css box recursively. the css box to selectionStart clear at Start drag and drop operation on the currently selected html segment. the control to start the drag and drop on Select all the words that are under DOM hierarchy.
the box to start select all at
Check if the current selection is non empty, has some selection data. true - partial word selection allowed, false - only full words selection true - is non empty selection, false - empty selection Select all the words that are between word and word in the DOM hierarchy.
the root of the DOM sub-tree the selection is in selection start word limit selection end word limit
Select all the words that are between word and word in the DOM hierarchy. the current traversal node selection start word limit selection end word limit used to know the traversal is currently in selected range Calculate the character index and offset by characters for the given word and given offset.
.
used to create graphics to measure string the word to calculate its index and offset the location to calculate for to set the starting or ending char and offset data
Calculate the character index and offset by characters for the given word and given offset.
If the location is below the word line then set the selection to the end.
If the location is to the right of the word then set the selection to the end.
If the offset is to the left of the word set the selection to the beginning.
Otherwise calculate the width of each substring to find the char the location is on.
used to create graphics to measure string the word to calculate its index and offset the location to calculate for is to include the first character in the calculation return the index of the char under the location return the offset of the char under the location
Check if the selection direction is forward or backward.
Is the selection start word is before the selection end word in DFS traversal.
Handler for loading a stylesheet data. Load stylesheet data from the given source.
The source can be local file or web URI.
First raise event to allow the client to overwrite the stylesheet loading.
If the stylesheet is downloaded from URI we will try to correct local URIs to absolute.
the container of the html to handle load stylesheet for the source of the element to load the stylesheet by the attributes of the link element return the stylesheet string that has been loaded (null if failed or is given) return stylesheet data object that was provided by overwrite (null if failed or is given)
Load stylesheet string from given source (file path or uri). the container of the html to handle load stylesheet for the file path or uri to load the stylesheet from the stylesheet string Load the stylesheet from local file by given path. the container of the html to handle load stylesheet for the stylesheet file to load the loaded stylesheet string Load the stylesheet from uri by downloading the string. the container of the html to handle load stylesheet for the uri to download from the loaded stylesheet string Make relative URLs absolute in the stylesheet using the URI of the stylesheet. the stylesheet to correct the stylesheet uri to use to create absolute URLs Corrected stylesheet Low level handling of Html Renderer logic.
Allows html layout and rendering without association to actual control, those allowing to handle html rendering on any graphics object.
Using this class will require the client to handle all propagation's of mouse/keyboard events, layout/paint calls, scrolling offset, location/size/rectangle handling and UI refresh requests.
MaxSize and ActualSize:
The max width and height of the rendered html.
The max width will effect the html layout wrapping lines, resize images and tables where possible.
The max height does NOT effect layout, but will not render outside it (clip).
can exceed the max size by layout restrictions (unwrap-able line, set image size, etc.).
Set zero for unlimited (width/height separately).
ScrollOffset:
This will adjust the rendered html by the given offset so the content will be "scrolled".
Element that is rendered at location (50,100) with offset of (0,200) will not be rendered at -100, therefore outside the client rectangle.
LinkClicked event
Raised when the user clicks on a link in the html.
Allows canceling the execution of the link to overwrite by custom logic.
If error occurred in event handler it will propagate up the stack.
StylesheetLoad event:
Raised when a stylesheet is about to be loaded by file path or URL in 'link' element.
Allows to overwrite the loaded stylesheet by providing the stylesheet data manually, or different source (file or URL) to load from.
Example: The stylesheet 'href' can be non-valid URI string that is interpreted in the overwrite delegate by custom logic to pre-loaded stylesheet object
If no alternative data is provided the original source will be used.
ImageLoad event:
Raised when an image is about to be loaded by file path, URL or inline data in 'img' element or background-image CSS style.
Allows to overwrite the loaded image by providing the image object manually, or different source (file or URL) to load from.
Example: image 'src' can be non-valid string that is interpreted in the overwrite delegate by custom logic to resource image object
Example: image 'src' in the html is relative - the overwrite intercepts the load and provide full source URL to load the image from
Example: image download requires authentication - the overwrite intercepts the load, downloads the image to disk using custom code and provide file path to load the image from.
If no alternative data is provided the original source will be used.
Refresh event:
Raised when html renderer requires refresh of the control hosting (invalidation and re-layout).
There is no guarantee that the event will be raised on the main thread, it can be raised on thread-pool thread.
RenderError event:
Raised when an error occurred during html rendering.
Main adapter to framework specific logic. parser for CSS data the root css box of the parsed html list of all css boxes that have ":hover" selector on them Handler for text selection in the html. Handler for downloading of images in the html the text fore color use for selected text the back-color to use for selected text the parsed stylesheet data used for handling the html Is content selection is enabled for the rendered html (default - true).
If set to 'false' the rendered html will be static only with ability to click on links.
Is the build-in context menu enabled (default - true) Gets or sets a value indicating if anti-aliasing should be avoided for geometry like backgrounds and borders Gets or sets a value indicating if image asynchronous loading should be avoided (default - false).
Gets or sets a value indicating if image loading only when visible should be avoided (default - false).
is the load of the html document is complete the top-left most location of the rendered html the max width and height of the rendered html, effects layout, actual size cannot exceed this values.
Set zero for unlimited.
Gets or sets the scroll offset of the document for scroll controls The actual size of the rendered html (after layout) the top margin between the page start and the text the bottom margin between the page end and the text the left margin between the page start and the text the right margin between the page end and the text Init. parser for CSS data Raised when the set html document has been fully loaded.
Allows manipulation of the html dom, scroll position, etc.
Raised when the user clicks on a link in the html.
Allows canceling the execution of the link.
Raised when html renderer requires refresh of the control hosting (invalidation and re-layout). There is no guarantee that the event will be raised on the main thread, it can be raised on thread-pool thread. Raised when Html Renderer request scroll to specific location.
This can occur on document anchor click.
Raised when an error occurred during html rendering.
There is no guarantee that the event will be raised on the main thread, it can be raised on thread-pool thread.
Raised when a stylesheet is about to be loaded by file path or URI by link element.
This event allows to provide the stylesheet manually or provide new source (file or Uri) to load from.
If no alternative data is provided the original source will be used.
Raised when an image is about to be loaded by file path or URI.
This event allows to provide the image manually, if not handled the image will be loaded from file or download from URI.
the parsed stylesheet data used for handling the html Gets or sets a value indicating if anti-aliasing should be avoided for geometry like backgrounds and borders (default - false). Gets or sets a value indicating if image asynchronous loading should be avoided (default - false).
True - images are loaded synchronously during html parsing.
False - images are loaded asynchronously to html parsing when downloaded from URL or loaded from disk.
Asynchronously image loading allows to unblock html rendering while image is downloaded or loaded from disk using IO ports to achieve better performance.
Asynchronously image loading should be avoided when the full html content must be available during render, like render to image.
Gets or sets a value indicating if image loading only when visible should be avoided (default - false).
True - images are loaded as soon as the html is parsed.
False - images that are not visible because of scroll location are not loaded until they are scrolled to.
Images late loading improve performance if the page contains image outside the visible scroll area, especially if there is large amount of images, as all image loading is delayed (downloading and loading into memory).
Late image loading may effect the layout and actual size as image without set size will not have actual size until they are loaded resulting in layout change during user scroll.
Early image loading may also effect the layout if image without known size above the current scroll location are loaded as they will push the html elements down.
Is content selection is enabled for the rendered html (default - true).
If set to 'false' the rendered html will be static only with ability to click on links.
Is the build-in context menu enabled and will be shown on mouse right click (default - true) The scroll offset of the html.
This will adjust the rendered html by the given offset so the content will be "scrolled".
Element that is rendered at location (50,100) with offset of (0,200) will not be rendered as it will be at -100 therefore outside the client rectangle.
The top-left most location of the rendered html.
This will offset the top-left corner of the rendered html.
The max width and height of the rendered html.
The max width will effect the html layout wrapping lines, resize images and tables where possible.
The max height does NOT effect layout, but will not render outside it (clip).
can be exceed the max size by layout restrictions (unwrapable line, set image size, etc.).
Set zero for unlimited (width\height separately).
The actual size of the rendered html (after layout) the top margin between the page start and the text the bottom margin between the page end and the text the left margin between the page start and the text the right margin between the page end and the text Set all 4 margins to the given value. Get the currently selected text segment in the html. Copy the currently selected html segment with style. the root css box of the parsed html the text fore color use for selected text the back-color to use for selected text Init with optional document and stylesheet. the html to init with, init empty if not given optional: the stylesheet to init with, init default if not given Clear the content of the HTML container releasing any resources used to render previously existing content. Clear the current selection. Get html from the current DOM tree with style if requested. Optional: controls the way styles are generated when html is generated (default: ) generated html Get attribute value of element at the given x,y location by given key.
If more than one element exist with the attribute at the location the inner most is returned.
the location to find the attribute at the attribute key to get value by found attribute value or null if not found
Get all the links in the HTML with the element rectangle and href data. collection of all the links in the HTML Get css link href at the given x,y location. the location to find the link at css link href if exists or null Get the rectangle of html element as calculated by html layout.
Element if found by id (id attribute on the html element).
Note: to get the screen rectangle you need to adjust by the hosting control.
the id of the element to get its rectangle the rectangle of the element or null if not found
Measures the bounds of box and children, recursively. Device context to draw Render the html using the given device. the device to use to render Handle mouse down to handle selection. the control hosting the html to invalidate the location of the mouse Handle mouse up to handle selection and link click. the control hosting the html to invalidate the location of the mouse the mouse event data Handle mouse double click to select word under the mouse. the control hosting the html to set cursor and invalidate the location of the mouse Handle mouse move to handle hover cursor and text selection. the control hosting the html to set cursor and invalidate the location of the mouse Handle mouse leave to handle hover cursor. the control hosting the html to set cursor and invalidate Handle key down event for selection and copy. the control hosting the html to invalidate the pressed key Raise the stylesheet load event with the given event args. the event args Raise the image load event with the given event args. the event args Request invalidation and re-layout of the control hosting the renderer. is re-layout is required for the refresh Report error in html render process. the type of error to report the error message optional: the exception that occured Handle link clicked going over event and using if not canceled. the control hosting the html to invalidate the location of the mouse the link that was clicked Add css box that has ":hover" selector to be handled on mouse hover. the box that has the hover selector the css block with the css data with the selector Get image downloader to be used to download images for the current html rendering.
Lazy create single downloader to be used for all images in the current html.
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. 2 Adjust the offset of the given location by the current scroll offset. the location to adjust the adjusted location Check if the mouse is currently on the html container.
Relevant if the html container is not filled in the hosted control (location is not zero and the size is not the full size of the control).
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. General utilities. Measure the size of the html by performing layout under the given restrictions. the graphics to use the html to calculate the layout for the minimal size of the rendered html (zero - not limit the width/height) the maximum size of the rendered html, if not zero and html cannot be layout within the limit it will be clipped (zero - not limit the width/height) return: the size of the html to be rendered within the min/max limits Perform the layout of the html container by given size restrictions returning the final size.
The layout can be effected by the HTML content in the if or is set to true.
Handle minimum and maximum size restrictions.
Handle auto size and auto size for height only. if is true is ignored.
the graphics used for layout the html container to layout the current size the min size restriction - can be empty for no restriction the max size restriction - can be empty for no restriction if to modify the size (width and height) by html content layout if to modify the height by html content layout
Parser to parse CSS stylesheet source string into CSS objects. split CSS rule Utility for value parsing. The chars to trim the css class name by Init. Parse the given stylesheet source to CSS blocks dictionary.
The CSS blocks are organized into two level buckets of media type and class name.
Root media type are found under 'all' bucket.
If is true the parsed css blocks are added to the default css data (as defined by W3), merged if class name already exists. If false only the data in the given stylesheet is returned.
raw css stylesheet to parse true - combine the parsed css data with default css data, false - return only the parsed css data the CSS data with parsed CSS objects (never null)
Parse the given stylesheet source to CSS blocks dictionary.
The CSS blocks are organized into two level buckets of media type and class name.
Root media type are found under 'all' bucket.
The parsed css blocks are added to the given css data, merged if class name already exists.
the CSS data to fill with parsed CSS objects raw css stylesheet to parse
Parse single CSS block source into CSS block instance. the name of the css class of the block the CSS block to parse the created CSS block instance Parse a complex font family css property to check if it contains multiple fonts and if the font exists.
returns the font family name to use or 'inherit' if failed.
the font-family value to parse parsed font-family value
Parses a color value in CSS style; e.g. #ff0000, red, rgb(255,0,0), rgb(100%, 0, 0) color string value to parse color value Remove comments from the given stylesheet. the stylesheet to remove comments from stylesheet without comments Parse given stylesheet for CSS blocks
This blocks are added under the "all" keyword.
the CSS data to fill with parsed CSS objects the stylesheet to parse
Parse given stylesheet for media CSS blocks
This blocks are added under the specific media block they are found.
the CSS data to fill with parsed CSS objects the stylesheet to parse
Feeds the style with a block about the specific media.
When no media is specified, "all" will be used.
the CSS block to handle optional: the media (default - all)
Parse single CSS block source into CSS block instance. the name of the css class of the block the CSS block to parse the created CSS block instance Parse css block selector to support hierarchical selector (p class1 > class2). the class selector to parse return the main class the css block is on returns the hierarchy of classes or null if single class selector Parse the properties of the given css block into a key-value dictionary. the raw css block to parse dictionary with parsed css block properties Add the given property to the given properties collection, if the property is complex containing multiple css properties then parse them and add the inner properties. the name of the css property to add the value of the css property to add the properties collection to add to Parse length property to add only valid lengths. the name of the css property to add the value of the css property to add the properties collection to add to Parse color property to add only valid color. the name of the css property to add the value of the css property to add the properties collection to add to Parse a complex font property value that contains multiple css properties into specific css properties. the value of the property to parse to specific values the properties collection to add the specific properties to the value of the property to parse parsed value Parse a complex font family css property to check if it contains multiple fonts and if the font exists.
returns the font family name to use or 'inherit' if failed.
the value of the property to parse parsed font-family value
Parse a complex border property value that contains multiple css properties into specific css properties. the value of the property to parse to specific values the left, top, right or bottom direction of the border to parse the properties collection to add the specific properties to Parse a complex margin property value that contains multiple css properties into specific css properties. the value of the property to parse to specific values the properties collection to add the specific properties to Parse a complex border style property value that contains multiple css properties into specific css properties. the value of the property to parse to specific values the properties collection to add the specific properties to Parse a complex border width property value that contains multiple css properties into specific css properties. the value of the property to parse to specific values the properties collection to add the specific properties to Parse a complex border color property value that contains multiple css properties into specific css properties. the value of the property to parse to specific values the properties collection to add the specific properties to Parse a complex padding property value that contains multiple css properties into specific css properties. the value of the property to parse to specific values the properties collection to add the specific properties to Split multi direction value into the proper direction values (left, top, right, bottom). Split the value by the specified separator; e.g. Useful in values like 'padding:5 4 3 inherit' Value to be splitted Splitted and trimmed values Parse the given substring to extract border width substring. Assume given substring is not empty and all indexes are valid!
found border width value or null
Parse the given substring to extract border style substring.
Assume given substring is not empty and all indexes are valid!
found border width value or null
Parse the given substring to extract border style substring.
Assume given substring is not empty and all indexes are valid!
found border width value or null
Parse CSS properties values like numbers, Urls, etc. Init. Check if the given substring is a valid double number. Assume given substring is not empty and all indexes are valid!
true - valid double number, false - otherwise
Check if the given substring is a valid double number. Assume given substring is not empty and all indexes are valid!
true - valid int number, false - otherwise
Check if the given string is a valid length value. the string value to check true - valid, false - invalid Evals a number and returns it. If number is a percentage, it will be multiplied by hundredPercent Number to be parsed Number that represents the 100% if parsed number is a percentage Parsed number. Zero if error while parsing. Parses a length. Lengths are followed by an unit identifier (e.g. 10px, 3.1em) Specified length Equivalent to 100 percent when length is percentage if the length is in pixels and the length is font related it needs to use 72/96 factor the parsed length value with adjustments Parses a length. Lengths are followed by an unit identifier (e.g. 10px, 3.1em) Specified length Equivalent to 100 percent when length is percentage the parsed length value with adjustments Parses a length. Lengths are followed by an unit identifier (e.g. 10px, 3.1em) Specified length Equivalent to 100 percent when length is percentage if the length is in pixels and the length is font related it needs to use 72/96 factor Allows the return double to be in points. If false, result will be pixels the parsed length value with adjustments Get the unit to use for the length, use default if no unit found in length string. Check if the given color string value is valid. color string value to parse true - valid, false - invalid Parses a color value in CSS style; e.g. #ff0000, red, rgb(255,0,0), rgb(100%, 0, 0) color string value to parse Color value Parses a color value in CSS style; e.g. #ff0000, RED, RGB(255,0,0), RGB(100%, 0, 0) color substring value to parse substring start idx substring length return the parsed color true - valid color, false - otherwise Parses a border value in CSS style; e.g. 1px, 1, thin, thick, medium Get color by parsing given hex value color string (#A28B34). true - valid color, false - otherwise Get color by parsing given RGB value color string (RGB(255,180,90)) true - valid color, false - otherwise Get color by parsing given RGBA value color string (RGBA(255,180,90,180)) true - valid color, false - otherwise Get color by given name, including .NET name. true - valid color, false - otherwise Parse the given decimal number string to positive int value.
Start at given , ignore whitespaces and take as many digits as possible to parse to int.
the string to parse the index to start parsing at parsed int or 0
Parse the given decimal number string to positive int value. Assume given substring is not empty and all indexes are valid!
int value, -1 if not valid
Parse the given hex number string to positive int value. Assume given substring is not empty and all indexes are valid!
int value, -1 if not valid
Handle css DOM tree generation from raw html and stylesheet. Parser for CSS Init. Generate css tree by parsing the given html and applying the given css style data on it. the html to parse the html container to use for reference resolve the css data to use the root of the generated tree Read styles defined inside the dom structure in links and style elements.
If the html tag is "style" tag parse it content and add to the css data for all future tags parsing.
If the html tag is "link" that point to style data parse it content and add to the css data for all future tags parsing.
the box to parse style data in the html container to use for reference resolve the style data to fill with found styles check if the css data has been modified by the handled html not to change the base css data
Applies style to all boxes in the tree.
If the html tag has style defined for each apply that style to the css box of the tag.
If the html tag has "class" attribute and the class name has style defined apply that style on the tag css box.
If the html tag has "style" attribute parse it and apply the parsed style on the tag css box.
the box to apply the style to the style data for the html
Set the selected text style (selection text color and background color). the style data Assigns the given css classes to the given css box checking if matching.
Support multiple classes in single attribute separated by whitespace.
the css box to assign css to the css data to use to get the matching css blocks
Assigns the given css style blocks to the given css box checking if matching. the css box to assign css to the css data to use to get the matching css blocks the class selector to search for css blocks Check if the given css block is assignable to the given css box.
the block is assignable if it has no hierarchical selectors or if the hierarchy matches.
Special handling for ":hover" pseudo-class.
the box to check assign to the block to check assign of true - the block is assignable to the box, false - otherwise
Check if the given css block is assignable to the given css box by validating the selector.
the box to check assign to the block to check assign of true - the block is assignable to the box, false - otherwise
Assigns the given css style block properties to the given css box. the css box to assign css to the css block to assign Check if the given style is allowed to be set on the given css box.
Used to prevent invalid CssBoxes creation like table with inline display style.
the css box to assign css to the style key to cehck the style value to check true - style allowed, false - not allowed
Clone css data if it has not already been cloned.
Used to preserve the base css data used when changed by style inside html.
Converts an HTML length into a Css length Cascades to the TD's the border spacified in the TABLE tag. Cascades to the TD's the border spacified in the TABLE tag. Execute action on all the "td" cells of the table.
Handle if there is "theader" or "tbody" exists.
the table element the action to execute
Go over all the text boxes (boxes that have some text that will be rendered) and remove all boxes that have only white-spaces but are not 'preformatted' so they do not effect the rendered html. the current box to correct its sub-tree Go over all image boxes and if its display style is set to block, put it inside another block but set the image to inline. the current box to correct its sub-tree Correct the DOM tree recursively by replacing "br" html boxes with anonymous blocks that respect br spec.
If the "br" tag is after inline box then the anon block will have zero height only acting as newline, but if it is after block box then it will have min-height of the font size so it will create empty line.
the current box to correct its sub-tree used to know if the br is following a box so it should create an empty line or not so it only move to a new line
Correct DOM tree if there is block boxes that are inside inline blocks.
Need to rearrange the tree so block box will be only the child of other block box.
the current box to correct its sub-tree
Rearrange the DOM of the box to have block box with boxes before the inner block box and after. the box that has the problem Split bad box that has inline and block boxes into two parts, the left - before the block box and right - after the block box. the parent box that has the problem the box to split into different boxes the left block box that is created for the split Makes block boxes be among only block boxes and all inline boxes have block parent box.
Inline boxes should live in a pool of Inline boxes only so they will define a single block.
At the end of this process a block box will have only block siblings and inline box will have only inline siblings.
the current box to correct its sub-tree
Check if the given box contains only inline child boxes in all subtree. the box to check true - only inline child boxes, false - otherwise Check if the given box contains inline and block child boxes. the box to check true - has variant child boxes, false - otherwise Parses the source html to css boxes tree structure. the html source to parse Add html text anon box to the current box, this box will have the rendered text
Adding box also for text that contains only whitespaces because we don't know yet if the box is preformatted. At later stage they will be removed if not relevant.
the html source to parse the start of the html part the index of the next html tag the current box in html tree parsing
Parse the html part, the part from prev parsing index to the beginning of the next html tag.
the html source to parse the index of the next html tag the current box in html tree parsing the end of the parsed part, the new start index
Parse raw html tag source to object.
Extract attributes found on the tag.
the html source to parse the start index of the tag in the source the length of the tag from the start index in the source return the name of the html tag return the dictionary of tag attributes true - the tag is closing tag, false - otherwise
Extract html tag attributes from the given sub-string. the html source to parse the start index of the tag attributes in the source the length of the tag attributes from the start index in the source return the dictionary of tag attributes Collection of regular expressions used when parsing Extracts the media types from a media at-rule; e.g. @media print, 3d, screen { Extracts defined blocks in CSS. WARNING: Blocks will include blocks inside at-rules. Extracts a number; e.g. 5, 6, 7.5, 0.9 Extracts css percentages from the string; e.g. 100% .5% 5.4% Extracts CSS lengths; e.g. 9px 3pt .89em Extracts line-height values (normal, numbers, lengths, percentages) Extracts font-family values Extracts CSS font-styles; e.g. normal italic oblique Extracts CSS font-variant values; e.g. normal, small-caps Extracts font-weight values; e.g. normal, bold, bolder... Exracts font sizes: xx-small, larger, small, 34pt, 30%, 2em Gets the font-size[/line-height]? on the font shorthand property. Check http://www.w3.org/TR/CSS21/fonts.html#font-shorthand the regexes cache that is used by the parser so not to create regex each time Get CSS at rule from the given stylesheet. the stylesheet data to retrieve the rule from the index to start the search for the rule, on return will be the value of the end of the found rule the found at rule or null if not exists Extracts matches from the specified source Regular expression to extract matches Source to extract matches Collection of matches Searches the specified regex on the source Searches the specified regex on the source Get regex instance for the given regex string. the regex string to use the regex instance Static class that contains argument-checking methods Validate given condition is true, otherwise throw exception. Exception type to throw. Condition to assert. Exception message in-case of assert failure. Validate given argument isn't Null. argument to validate Name of the argument checked if is Null Validate given argument isn't . argument to validate Name of the argument checked if is Validate given argument isn't Null or empty. argument to validate Name of the argument checked if is Null or empty Validate given argument isn't Null. Type expected of arg/> argument to validate Name of the argument checked if is Null arg cast as T/> Validate given argument isn't Null or empty AND argument value is the path of existing file. argument to validate Name of the argument checked if is Null or empty if arg file-path not exist Utility methods for general stuff. Table to convert numbers into roman digits the temp path to use for local files Check if the given char is of Asian range. the character to check true - Asian char, false - otherwise Check if the given char is a digit character (0-9) and (0-9, a-f for HEX) the character to check optional: is hex digit check true - is digit, false - not a digit Convert the given char to digit. the character to check optional: is hex digit check true - is digit, false - not a digit Get size that is max of and for width and height separately. Get Uri object for the given path if it is valid uri path. the path to get uri for uri or null if not valid Get the first value in the given dictionary. the type of dictionary key the type of dictionary value the dictionary optional: the default value to return of no elements found in dictionary first element or default value Get file info object for the given path if it is valid file path. the path to get file info for file info or null if not valid Get web client response content type. the web client to get the response content type from response content type or null Gets the representation of the online uri on the local disk. The online image uri. The path of the file on the disk. Get substring separated by whitespace starting from the given idex. the string to get substring in the index to start substring search from return the length of the found string the index of the substring, -1 if no valid sub-string found Compare that the substring of is equal to Assume given substring is not empty and all indexes are valid!
true - equals, false - not equals
Replaces invalid filename chars to '_' The possibly-not-valid filename A valid filename. Convert number to alpha numeric system by the requested style (UpperAlpha, LowerRoman, Hebrew, etc.). the number to convert the css style to convert by converted string Convert the given integer into alphabetic numeric format (D, AU, etc.) the number to convert is to use lowercase the roman number string Convert the given integer into alphabetic numeric format (alpha, AU, etc.) the number to convert the roman number string Convert the given integer into roman numeric format (II, VI, IX, etc.) the number to convert if to use lowercase letters for roman digits the roman number string Convert the given integer into given alphabet numeric system. the number to convert the alphabet system to use the number string Convert the given integer into given alphabet numeric system. the number to convert the alphabet system to use the number string String constants to avoid typing errors. Centimeters Millimeters Pixels Inches Em - The font size of the relevant font The 'x-height' of the relevan font Points Picas Default font size in points. Change this value to modify the default font size. Default font used for the generic 'serif' family Utility method for handling CSS stuff. Brush for selection background Brush for selection background Gets the white space width of the specified box Get CSS box property value by the CSS name.
Used as a mapping between CSS property and the class property.
the CSS box to get it's property value the name of the CSS property the value of the property, null if no such property exists
Set CSS box property value by the CSS name.
Used as a mapping between CSS property and the class property.
the CSS box to set it's property value the name of the CSS property the value to set
Utility class for traversing DOM structure and execution stuff on it. Check if the given location is inside the given box deep.
Check inner boxes and all lines that the given box spans to.
the box to check the location to check true - location inside the box, false - otherwise
Check if the given box contains only inline child boxes. the box to check true - only inline child boxes, false - otherwise Recursively searches for the parent with the specified HTML Tag name Gets the previous sibling of this box. Box before this one on the tree. Null if its the first Gets the previous sibling of this box. Box before this one on the tree. Null if its the first fix word space for first word in inline tag. the box to check Gets the next sibling of this box. Box before this one on the tree. Null if its the first Get attribute value by given key starting search from given box, search up the tree until attribute found or root. the box to start lookup at the attribute to get the value of the attribute or null if not found Get css box under the given sub-tree at the given x,y location, get the inner most.
the location must be in correct scroll offset.
the box to start search from the location to find the box by Optional: if to get only visible boxes (default - true) css link box if exists or null
Collect all link boxes found in the HTML tree. the box to start search from collection to add all link boxes to Get css link box under the given sub-tree at the given x,y location.
the location must be in correct scroll offset.
the box to start search from the location to find the box by css link box if exists or null
Get css box under the given sub-tree with the given id.
the box to start search from the id to find the box by css box if exists or null
Get css line box under the given sub-tree at the given y location or the nearest line from the top.
the location must be in correct scroll offset.
the box to start search from the location to find the box at css word box if exists or null
Get css word box under the given sub-tree at the given x,y location.
the location must be in correct scroll offset.
the box to start search from the location to find the box at css word box if exists or null
Get css word box under the given sub-tree at the given x,y location.
the location must be in correct scroll offset.
the line box to search in the location to find the box at css word box if exists or null
Find the css line box that the given word is in. the word to search for it's line box line box that the word is in Get selected plain text of the given html sub-tree. the DOM box to get selected text from its sub-tree the selected plain text string Generate html from the given DOM tree.
Generate all the style inside the html, in header or for every tag depending on value.
the box of the html generate html from Optional: controls the way styles are generated when html is generated Optional: true - generate only selected html subset, false - generate all (default - false) generated html
Generate textual tree representation of the css boxes tree starting from the given root.
Used for debugging html parsing.
the root to generate tree from generated tree
Get selected plain text of the given html sub-tree.
Append all the selected words.
the builder to append the selected text to the DOM box to get selected text from its sub-tree the index of the last word appended
Collect the boxes that have at least one word down the hierarchy that is selected recursively.
the box to check its sub-tree the collection to add the selected tags to
Collect the boxes that have at least one word down the hierarchy that is selected recursively.
Use to handle boxes that are between selected words but don't have selected word inside.
the box to check its sub-tree the hash to add the selected boxes to used to handle boxes that are between selected words but don't have selected word inside is the current box is in selected sub-tree
find the box the is the root of selected boxes (the first box to contain multiple selected boxes) the root of the boxes tree the selected boxes to find selection root in the box that is the root of selected boxes Check if the given box has a names child box (has html tag) recursively. the box to check true - in sub-tree there is a named box, false - otherwise Write the given html DOM sub-tree into the given string builder.
If are given write html only from those tags.
used to parse CSS data the string builder to write html into the html sub-tree to write Controls the way styles are generated when html is generated Control if to generate only selected boxes, if given only boxes found in hash will be generated the box the is the root of selected boxes (the first box to contain multiple selected boxes)
Write the given html tag with all its attributes and styles. used to parse CSS data the string builder to write html into the css box with the html tag to write Controls the way styles are generated when html is generated Clean the given style collection by removing default styles so only custom styles remain.
Return new collection where the old remains unchanged.
the box the styles apply to, used to know the default style the collection of styles to clean new cleaned styles collection
Write stylesheet data inline into the html. the string builder to write stylesheet into the css data to write to the head Get the selected word with respect to partial selected words. the word to append is to get selected text or all the text in the word Generate textual tree representation of the css boxes tree starting from the given root.
Used for debugging html parsing.
the box to generate for the string builder to generate to the current indent level to set indent of generated text
Defines HTML strings List of html tags that don't have content the html encode\decode pairs the html decode only pairs Init. Is the given html tag is single tag or can have content. the tag to check (must be lower case) true - is single tag, false - otherwise Decode html encoded string to regular string.
Handles <, >, "&.
the string to decode decoded string
Encode regular string into html encoded string.
Handles <, >, "&.
the string to encode encoded string
Decode html special charecters encoded using char entity code (€) the string to decode decoded string Decode html special charecters encoded using char entity name the string to decode decoded string Provides some drawing functionality Check if the given color is visible if painted (has alpha and color values) the color to check true - visible, false - not visible Clip the region the graphics will draw on by the overflow style of the containing block.
Recursively travel up the tree to find containing block that has overflow style set to hidden. if not block found there will be no clipping and null will be returned.
the graphics to clip the box that is rendered to get containing blocks true - was clipped, false - not clipped
Draw image loading icon. the device to draw into the rectangle to draw icon in Draw image failed to load icon. the device to draw into the rectangle to draw icon in Creates a rounded rectangle using the specified corner radius
NW-----NE | | | | SW-----SE
the device to draw into Rectangle to round Radius of the north east corner Radius of the north west corner Radius of the south east corner Radius of the south west corner GraphicsPath with the lines of the rounded rectangle ready to be painted
Represents sub-string of a full string starting at specific location with a specific length. the full string that this sub-string is part of the start index of the sub-string the length of the sub-string starting at Init sub-string that is the full string. the full string that this sub-string is part of Init. the full string that this sub-string is part of the start index of the sub-string the length of the sub-string starting at is null the full string that this sub-string is part of the start index of the sub-string the length of the sub-string starting at Get string char at specific index. the idx to get the char at char at index Is the sub-string is empty string. true - empty string, false - otherwise Is the sub-string is empty string or contains only whitespaces. true - empty or whitespace string, false - otherwise Is the sub-string contains only whitespaces (at least one). true - empty or whitespace string, false - otherwise Get a string of the sub-string.
This will create a new string object!
new string that is the sub-string represented by this instance
Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length. The zero-based starting character position of a substring in this instance. The number of characters in the substring. A String equivalent to the substring of length length that begins at startIndex in this instance, or Empty if startIndex is equal to the length of this instance and length is zero. Adapter for WinForms brushes objects for core. The actual WinForms brush instance. If to dispose the brush when is called.
Ignore dispose for cached brushes.
Init. The actual WinForms brush instance. Adapter for WinForms context menu for core. the underline win forms context menu Init. Adapter for WinForms Control for core. the underline win forms control. Use GDI+ text rendering to measure/draw text. Init. Get the underline win forms control Adapter for WinForms Font object for core. the underline win-forms font. a handle to this Font. the vertical offset of the font underline location from the top of the font. Cached font height. Cached font whitespace width. Init. the underline win-forms font. Get the handle to this Font. Set font metrics to be cached for the font for future use. the full height of the font the vertical offset of the font underline location from the top of the font. Adapter for WinForms Font family object for core. the underline win-forms font. Init. the underline win-forms font family. Adapter for WinForms Graphics for core. used for calculation. used for calculation. Used for GDI+ measure string. The string format to use for measuring strings for GDI+ text rendering The string format to use for rendering strings for GDI+ text rendering The wrapped WinForms graphics object Use GDI+ text rendering to measure/draw text. the initialized HDC used if to release the graphics object on dispose If text alignment was set to RTL Init static resources. Init. the win forms graphics object to use Use GDI+ text rendering to measure/draw text optional: if to release the graphics object on dispose (default - false) Release current HDC to be able to use methods. Init HDC for the current graphics object to be used to call GDI directly. Set a resource (e.g. a font) for the specified device context. WARNING: Calling Font.ToHfont() many times without releasing the font handle crashes the app. Set the text color of the device context. Change text align to Left-to-Right or Right-to-Left if required. Special draw logic to draw transparent text using GDI.
1. Create in-memory DC
2. Copy background to in-memory DC
3. Draw the text to in-memory DC
4. Copy the in-memory DC to the proper location with alpha blend
Change text align to Left-to-Right or Right-to-Left if required. Adapter for WinForms graphics path object for core. The actual WinForms graphics path instance. the last point added to the path to begin next segment from The actual WinForms graphics path instance. Get arc start angle for the given corner. Adapter for WinForms Image object for core. the underline win-forms image. Initializes a new instance of the class. the underline win-forms image. Adapter for WinForms pens objects for core. The actual WinForms brush instance. Init. The actual WinForms brush instance. Adapter for WinForms platforms. Singleton instance of global adapter. Init installed font families and set default font families mapping. Singleton instance of global adapter. Low level handling of Html Renderer logic, this class is used by and . The internal core html container Use GDI+ text rendering to measure/draw text. Init. Raised when the set html document has been fully loaded.
Allows manipulation of the html dom, scroll position, etc.
Raised when the user clicks on a link in the html.
Allows canceling the execution of the link.
Raised when html renderer requires refresh of the control hosting (invalidation and re-layout). There is no guarantee that the event will be raised on the main thread, it can be raised on thread-pool thread. Raised when Html Renderer request scroll to specific location.
This can occur on document anchor click.
Raised when an error occurred during html rendering.
There is no guarantee that the event will be raised on the main thread, it can be raised on thread-pool thread.
Raised when a stylesheet is about to be loaded by file path or URI by link element.
This event allows to provide the stylesheet manually or provide new source (file or Uri) to load from.
If no alternative data is provided the original source will be used.
Raised when an image is about to be loaded by file path or URI.
This event allows to provide the image manually, if not handled the image will be loaded from file or download from URI.
The internal core html container Use GDI+ text rendering to measure/draw text.
GDI+ text rendering is less smooth than GDI text rendering but it natively supports alpha channel thus allows creating transparent images. While using GDI+ text rendering you can control the text rendering using , note that using doesn't work well with transparent background.
the parsed stylesheet data used for handling the html Gets or sets a value indicating if anti-aliasing should be avoided for geometry like backgrounds and borders (default - false). Gets or sets a value indicating if image asynchronous loading should be avoided (default - false).
True - images are loaded synchronously during html parsing.
False - images are loaded asynchronously to html parsing when downloaded from URL or loaded from disk.
Asynchronously image loading allows to unblock html rendering while image is downloaded or loaded from disk using IO ports to achieve better performance.
Asynchronously image loading should be avoided when the full html content must be available during render, like render to image.
Gets or sets a value indicating if image loading only when visible should be avoided (default - false).
True - images are loaded as soon as the html is parsed.
False - images that are not visible because of scroll location are not loaded until they are scrolled to.
Images late loading improve performance if the page contains image outside the visible scroll area, especially if there is large amount of images, as all image loading is delayed (downloading and loading into memory).
Late image loading may effect the layout and actual size as image without set size will not have actual size until they are loaded resulting in layout change during user scroll.
Early image loading may also effect the layout if image without known size above the current scroll location are loaded as they will push the html elements down.
Is content selection is enabled for the rendered html (default - true).
If set to 'false' the rendered html will be static only with ability to click on links.
Is the build-in context menu enabled and will be shown on mouse right click (default - true) The scroll offset of the html.
This will adjust the rendered html by the given offset so the content will be "scrolled".
Element that is rendered at location (50,100) with offset of (0,200) will not be rendered as it will be at -100 therefore outside the client rectangle.
The top-left most location of the rendered html.
This will offset the top-left corner of the rendered html.
The max width and height of the rendered html.
The max width will effect the html layout wrapping lines, resize images and tables where possible.
The max height does NOT effect layout, but will not render outside it (clip).
can be exceed the max size by layout restrictions (unwrappable line, set image size, etc.).
Set zero for unlimited (width\height separately).
The actual size of the rendered html (after layout) Get the currently selected text segment in the html. Copy the currently selected html segment with style. Clear the current selection. Init with optional document and stylesheet. the html to init with, init empty if not given optional: the stylesheet to init with, init default if not given Get html from the current DOM tree with style if requested. Optional: controls the way styles are generated when html is generated (default: ) generated html Get attribute value of element at the given x,y location by given key.
If more than one element exist with the attribute at the location the inner most is returned.
the location to find the attribute at the attribute key to get value by found attribute value or null if not found
Get all the links in the HTML with the element rectangle and href data. collection of all the links in the HTML Get css link href at the given x,y location. the location to find the link at css link href if exists or null Get the rectangle of html element as calculated by html layout.
Element if found by id (id attribute on the html element).
Note: to get the screen rectangle you need to adjust by the hosting control.
the id of the element to get its rectangle the rectangle of the element or null if not found
Measures the bounds of box and children, recursively. Device context to draw Render the html using the given device. the device to use to render Handle mouse down to handle selection. the control hosting the html to invalidate the mouse event args Handle mouse up to handle selection and link click. the control hosting the html to invalidate the mouse event args Handle mouse double click to select word under the mouse. the control hosting the html to set cursor and invalidate mouse event args Handle mouse move to handle hover cursor and text selection. the control hosting the html to set cursor and invalidate the mouse event args Handle mouse leave to handle hover cursor. the control hosting the html to set cursor and invalidate Handle key down event for selection and copy. the control hosting the html to invalidate the pressed key Create HtmlRenderer mouse event from win forms mouse event. Create HtmlRenderer key event from win forms key event. Standalone static class for simple and direct HTML rendering.
For low-level control and performance consider using .
GDI vs. GDI+ text rendering
Windows supports two text rendering technologies: GDI and GDI+.
GDI is older, has better performance and looks better on standard monitors but doesn't support alpha channel for transparency.
GDI+ is newer, device independent so work better for printers but is slower and looks worse on monitors.
HtmlRender supports both GDI and GDI+ text rendering to accommodate different needs, GDI+ text rendering methods have "GdiPlus" suffix in their name where GDI do not.
Rendering to image
See https://htmlrenderer.codeplex.com/wikipage?title=Image%20generation
Because of GDI text rendering issue with alpha channel clear type text rendering rendering to image requires special handling.
Solid color background - generate an image where the background is filled with solid color and all the html is rendered on top of the background color, GDI text rendering will be used. (RenderToImage method where the first argument is html string)
Image background - render html on top of existing image with whatever currently exist but it cannot have transparent pixels, GDI text rendering will be used. (RenderToImage method where the first argument is Image object)
Transparent background - render html to empty image using GDI+ text rendering, the generated image can be transparent. Text rendering can be controlled using , note that doesn't render well on transparent background. (RenderToImageGdiPlus method)
Overwrite stylesheet resolution
Exposed by optional "stylesheetLoad" delegate argument.
Invoked when a stylesheet is about to be loaded by file path or URL in 'link' element.
Allows to overwrite the loaded stylesheet by providing the stylesheet data manually, or different source (file or URL) to load from.
Example: The stylesheet 'href' can be non-valid URI string that is interpreted in the overwrite delegate by custom logic to pre-loaded stylesheet object
If no alternative data is provided the original source will be used.
Overwrite image resolution
Exposed by optional "imageLoad" delegate argument.
Invoked when an image is about to be loaded by file path, URL or inline data in 'img' element or background-image CSS style.
Allows to overwrite the loaded image by providing the image object manually, or different source (file or URL) to load from.
Example: image 'src' can be non-valid string that is interpreted in the overwrite delegate by custom logic to resource image object
Example: image 'src' in the html is relative - the overwrite intercepts the load and provide full source URL to load the image from
Example: image download requires authentication - the overwrite intercepts the load, downloads the image to disk using custom code and provide file path to load the image from.
If no alternative data is provided the original source will be used.
Note: Cannot use asynchronous scheme overwrite scheme.
Simple rendering
HtmlRender.Render(g, "Hello World]]>");
HtmlRender.Render(g, "Hello World]]>", 10, 10, 500, CssData.Parse("body {font-size: 20px}")");
Image rendering
HtmlRender.RenderToImage("Hello World]]>", new Size(600,400));
HtmlRender.RenderToImage("Hello World]]>", 600);
HtmlRender.RenderToImage(existingImage, "Hello World]]>");
Adds a font family to be used in html rendering.
The added font will be used by all rendering function including and all WinForms controls.
The given font family instance must be remain alive while the renderer is in use.
If loaded to then the collection must be alive.
If loaded from file then the file must not be deleted.
The font family to add.
Adds a font mapping from to iff the is not found.
When the font is used in rendered html and is not found in existing fonts (installed or added) it will be replaced by .
This fonts mapping can be used as a fallback in case the requested font is not installed in the client system. the font family to replace the font family to replace with
Parse the given stylesheet to object.
If is true the parsed css blocks are added to the default css data (as defined by W3), merged if class name already exists. If false only the data in the given stylesheet is returned.
the stylesheet source to parse true - combine the parsed css data with default css data, false - return only the parsed css data the parsed css data
Measure the size (width and height) required to draw the given html under given max width restriction.
If no max width restriction is given the layout will use the maximum possible width required by the content, it can be the longest text line or full image width.
Use GDI text rendering, note has no effect.
Device to use for measure HTML source to render optional: bound the width of the html to render in (default - 0, unlimited) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the size required for the html
Measure the size (width and height) required to draw the given html under given max width restriction.
If no max width restriction is given the layout will use the maximum possible width required by the content, it can be the longest text line or full image width.
Use GDI+ text rending, use to control text rendering.
Device to use for measure HTML source to render optional: bound the width of the html to render in (default - 0, unlimited) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the size required for the html
Renders the specified HTML source on the specified location and max width restriction.
Use GDI text rendering, note has no effect.
If is zero the html will use all the required width, otherwise it will perform line wrap as specified in the html
Returned is the actual width and height of the rendered html.
Device to render with HTML source to render optional: the left most location to start render the html at (default - 0) optional: the top most location to start render the html at (default - 0) optional: bound the width of the html to render in (default - 0, unlimited) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the actual size of the rendered html
Renders the specified HTML source on the specified location and max size restriction.
Use GDI text rendering, note has no effect.
If .Width is zero the html will use all the required width, otherwise it will perform line wrap as specified in the html
If .Height is zero the html will use all the required height, otherwise it will clip at the given max height not rendering the html below it.
Returned is the actual width and height of the rendered html.
Device to render with HTML source to render the top-left most location to start render the html at the max size of the rendered html (if height above zero it will be clipped) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the actual size of the rendered html
Renders the specified HTML source on the specified location and max size restriction.
Use GDI+ text rending, use to control text rendering.
If is zero the html will use all the required width, otherwise it will perform line wrap as specified in the html
Returned is the actual width and height of the rendered html.
Device to render with HTML source to render optional: the left most location to start render the html at (default - 0) optional: the top most location to start render the html at (default - 0) optional: bound the width of the html to render in (default - 0, unlimited) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the actual size of the rendered html
Renders the specified HTML source on the specified location and max size restriction.
Use GDI+ text rending, use to control text rendering.
If .Width is zero the html will use all the required width, otherwise it will perform line wrap as specified in the html
If .Height is zero the html will use all the required height, otherwise it will clip at the given max height not rendering the html below it.
Returned is the actual width and height of the rendered html.
Device to render with HTML source to render the top-left most location to start render the html at the max size of the rendered html (if height above zero it will be clipped) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the actual size of the rendered html
Renders the specified HTML on top of the given image.
will contain the rendered html in it on top of original content.
must not contain transparent pixels as it will corrupt the rendered html text.
The HTML will be layout by the given image size but may be clipped if cannot fit.
See "Rendering to image" remarks section on .
the image to render the html on HTML source to render optional: the top-left most location to start render the html at (default - 0,0) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic
Renders the specified HTML on top of the given image.
will contain the rendered html in it on top of original content.
must not contain transparent pixels as it will corrupt the rendered html text.
See "Rendering to image" remarks section on .
the image to render the html on HTML source to render the top-left most location to start render the html at the max size of the rendered html (if height above zero it will be clipped) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic
Renders the specified HTML into a new image of the requested size.
The HTML will be layout by the given size but will be clipped if cannot fit.

Limitation: The image cannot have transparent background, by default it will be white.
See "Rendering to image" remarks section on .

HTML source to render The size of the image to render into, layout html by width and clipped by height optional: the color to fill the image with (default - white) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the generated image of the html if is .
Renders the specified HTML into a new image of unknown size that will be determined by max width/height and HTML layout.
If is zero the html will use all the required width, otherwise it will perform line wrap as specified in the html
If is zero the html will use all the required height, otherwise it will clip at the given max height not rendering the html below it.

Limitation: The image cannot have transparent background, by default it will be white.
See "Rendering to image" remarks section on .

HTML source to render optional: the max width of the rendered html, if not zero and html cannot be layout within the limit it will be clipped optional: the max height of the rendered html, if not zero and html cannot be layout within the limit it will be clipped optional: the color to fill the image with (default - white) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the generated image of the html if is .
Renders the specified HTML into a new image of unknown size that will be determined by min/max width/height and HTML layout.
If .Width is zero the html will use all the required width, otherwise it will perform line wrap as specified in the html
If .Height is zero the html will use all the required height, otherwise it will clip at the given max height not rendering the html below it.
If (Width/Height) is above zero the rendered image will not be smaller than the given min size.

Limitation: The image cannot have transparent background, by default it will be white.
See "Rendering to image" remarks section on .

HTML source to render optional: the min size of the rendered html (zero - not limit the width/height) optional: the max size of the rendered html, if not zero and html cannot be layout within the limit it will be clipped (zero - not limit the width/height) optional: the color to fill the image with (default - white) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the generated image of the html if is .
Renders the specified HTML into a new image of the requested size.
The HTML will be layout by the given size but will be clipped if cannot fit.
The generated image have transparent background that the html is rendered on.
GDI+ text rending can be controlled by providing .
See "Rendering to image" remarks section on .
HTML source to render The size of the image to render into, layout html by width and clipped by height optional: (default - SingleBitPerPixelGridFit) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the generated image of the html
Renders the specified HTML into a new image of unknown size that will be determined by max width/height and HTML layout.
If is zero the html will use all the required width, otherwise it will perform line wrap as specified in the html
If is zero the html will use all the required height, otherwise it will clip at the given max height not rendering the html below it.
The generated image have transparent background that the html is rendered on.
GDI+ text rending can be controlled by providing .
See "Rendering to image" remarks section on .
HTML source to render optional: the max width of the rendered html, if not zero and html cannot be layout within the limit it will be clipped optional: the max height of the rendered html, if not zero and html cannot be layout within the limit it will be clipped optional: (default - SingleBitPerPixelGridFit) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the generated image of the html
Renders the specified HTML into a new image of unknown size that will be determined by min/max width/height and HTML layout.
If .Width is zero the html will use all the required width, otherwise it will perform line wrap as specified in the html
If .Height is zero the html will use all the required height, otherwise it will clip at the given max height not rendering the html below it.
If (Width/Height) is above zero the rendered image will not be smaller than the given min size.
The generated image have transparent background that the html is rendered on.
GDI+ text rending can be controlled by providing .
See "Rendering to image" remarks section on .
HTML source to render optional: the min size of the rendered html (zero - not limit the width/height) optional: the max size of the rendered html, if not zero and html cannot be layout within the limit it will be clipped (zero - not limit the width/height) optional: (default - SingleBitPerPixelGridFit) optional: the style to use for html rendering (default - use W3 default style) optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the generated image of the html
Measure the size (width and height) required to draw the given html under given width and height restrictions.
Device to use for measure HTML source to render optional: bound the width of the html to render in (default - 0, unlimited) optional: the style to use for html rendering (default - use W3 default style) true - use GDI+ text rendering, false - use GDI text rendering optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the size required for the html
Measure the size of the html by performing layout under the given restrictions. the html to calculate the layout for the minimal size of the rendered html (zero - not limit the width/height) the maximum size of the rendered html, if not zero and html cannot be layout within the limit it will be clipped (zero - not limit the width/height) return: the size of the html to be rendered within the min/max limits Renders the specified HTML source on the specified location and max size restriction.
If .Width is zero the html will use all the required width, otherwise it will perform line wrap as specified in the html
If .Height is zero the html will use all the required height, otherwise it will clip at the given max height not rendering the html below it.
Clip the graphics so the html will not be rendered outside the max height bound given.
Returned is the actual width and height of the rendered html.
Device to render with HTML source to render the top-left most location to start render the html at the max size of the rendered html (if height above zero it will be clipped) optional: the style to use for html rendering (default - use W3 default style) true - use GDI+ text rendering, false - use GDI text rendering optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the actual size of the rendered html
Renders the specified HTML source on the specified location and max size restriction.
If .Width is zero the html will use all the required width, otherwise it will perform line wrap as specified in the html
If .Height is zero the html will use all the required height, otherwise it will clip at the given max height not rendering the html below it.
Returned is the actual width and height of the rendered html.
Device to render with HTML source to render the top-left most location to start render the html at the max size of the rendered html (if height above zero it will be clipped) optional: the style to use for html rendering (default - use W3 default style) true - use GDI+ text rendering, false - use GDI text rendering optional: can be used to overwrite stylesheet resolution logic optional: can be used to overwrite image resolution logic the actual size of the rendered html
Copy all the bitmap bits from memory bitmap buffer to the given image. the source memory bitmap buffer to copy from the destination bitmap image to copy to Helper to encode and set HTML fragment to clipboard.
See http://theartofdev.wordpress.com/2012/11/11/setting-html-and-plain-text-formatting-to-clipboard/.
.
The MIT License (MIT) Copyright (c) 2014 Arthur Teplitzki.
The string contains index references to other spots in the string, so we need placeholders so we can compute the offsets.
The _ strings are just placeholders. We'll back-patch them actual values afterwards.
The string layout () also ensures that it can't appear in the body of the html because the
character must be escaped.
html comment to point the beginning of html fragment html comment to point the end of html fragment Used to calculate characters byte count in UTF-8 Create with given html and plain-text ready to be used for clipboard or drag and drop.
Handle missing ]]> tags, specified start\end segments and Unicode characters.
Windows Clipboard works with UTF-8 Unicode encoding while .NET strings use with UTF-16 so for clipboard to correctly decode Unicode string added to it from .NET we needs to be re-encoded it using UTF-8 encoding. Builds the CF_HTML header correctly for all possible HTMLs
If given html contains start/end fragments then it will use them in the header: hello world]]> If given html contains html/body tags then it will inject start/end fragments to exclude html/body tags: hello world]]> If given html doesn't contain html/body tags then it will inject the tags and start/end fragments properly: world]]> In all cases creating a proper CF_HTML header:
hello world ]]> See format specification here: http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/clipboard/htmlclipboard.asp
a html fragment the plain text
Clears clipboard and sets the given HTML and plain text fragment to the clipboard, providing additional meta-information for HTML.
See for HTML fragment details.
ClipboardHelper.CopyToClipboard("Hello World", "Hello World"); a html fragment the plain text
Clears clipboard and sets the given plain text fragment to the clipboard.
the plain text
Generate HTML fragment data string with header that is required for the clipboard. the html to generate for the resulted string Calculates the number of bytes produced by encoding the string in the string builder in UTF-8 and not .NET default string encoding. the string builder to count its string optional: the start index to calculate from (default - start of string) optional: the end index to calculate to (default - end of string) the number of bytes required to encode the string in UTF-8 Utilities for converting WinForms entities to HtmlRenderer core entities. Convert from WinForms point to core point. Convert from WinForms point to core point. Convert from core point to WinForms point. Convert from core point to WinForms point. Convert from WinForms size to core size. Convert from core size to WinForms size. Convert from core size to WinForms size. Convert from WinForms rectangle to core rectangle. Convert from core rectangle to WinForms rectangle. Convert from core rectangle to WinForms rectangle. Convert from WinForms color to core color. Convert from core color to WinForms color. mono has issue throwing exception for no reason. the control to create graphics object from new graphics object or null in mono if failed Utility for Win32 API. Const for BitBlt copy raster-operation code. Const for BitBlt paint raster-operation code. Create a compatible memory HDC from the given HDC.
The memory HDC can be rendered into without effecting the original HDC.
The returned memory HDC and must be released using .
the HDC to create memory HDC from the width of the memory HDC to create the height of the memory HDC to create returns used bitmap memory section that must be released when done with memory HDC memory HDC
Release the given memory HDC and dib section created from . Memory HDC to release bitmap section to release Retrieves the dimensions of the bounding rectangle of the specified window. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen. In conformance with conventions for the RECT structure, the bottom-right coordinates of the returned rectangle are exclusive. In other words, the pixel at (right, bottom) lies immediately outside the rectangle. A handle to the window. A pointer to a RECT structure that receives the screen coordinates of the upper-left and lower-right corners of the window. If the function succeeds, the return value is nonzero. Retrieves the dimensions of the bounding rectangle of the specified window. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen. In conformance with conventions for the RECT structure, the bottom-right coordinates of the returned rectangle are exclusive. In other words, the pixel at (right, bottom) lies immediately outside the rectangle. A handle to the window. RECT structure that receives the screen coordinates of the upper-left and lower-right corners of the window.