using System.Collections.Generic;
using System.Drawing;
using GeoAPI.Extensions.Feature;
using GeoAPI.Geometries;
using SharpMap.Api.Layers;
namespace SharpMap.Api
{
public interface IFeatureRenderer
{
///
/// Renders feature on a given map.
///
/// Feature to render
/// Graphics object to be used as a target for rendering
/// Layer where feature belongs to
/// When rendering succeds - returns true, otherwise false
bool Render(IFeature feature, Graphics g, ILayer layer);
///
/// return polygon (???)
///
///
IGeometry GetRenderedFeatureGeometry(IFeature feature, ILayer layer);
///
/// return intertected features
///
///
///
IEnumerable GetFeatures(IGeometry geometry, ILayer layer);
// also move to ILayer
//GetIntersectedFeatures will return List of features; cache the polygon features in the custom renderer
//GetRenderedFeatureGeometry will return Feature.Geometry by default
IEnumerable GetFeatures(IEnvelope box, ILayer layer);
}
}