RenderSurfaceBase
Una clase base abstracta para el RenderSurface, que es un mirador utilizado dentro de la para renderizar los tipos BaseRenderableSeries de una manera rápida. La arquitectura del renderizador es basado en plugin, lo que significa que hemos construido múltiples implementaciones de RenderSurfaceBase.
Hereda de: ContentControl
Implementa: IRenderSurface2D, IRenderSurface, IDisposable, IHitTestable, IInvalidatableElement
Constructores
protected RenderSurfaceBase()
renderSurfaceBase = RenderSurfaceBase()
Inicia una nueva instancia de la clase RenderSurfaceBase.
Propiedades
public ReadOnlyCollection<IRenderableSeries> ChildSeries { get; }
value = renderSurfaceBase.ChildSeries
Consigue al niño RenderableSeries en este IRenderSurface2D
public Grid Grid { get; }
value = renderSurfaceBase.Grid
Consigue el elemento raíz Grid que alberga componentes en el RenderSurfaceBase
public virtual bool IsSizeValidForDrawing { get; }
value = renderSurfaceBase.IsSizeValidForDrawing
Devuelve la verdad si el tamaño RenderSurfaceBasees válido para el dibujo
public double? MaxFrameRate { get; set; }
value = renderSurfaceBase.MaxFrameRate
renderSurfaceBase.MaxFrameRate = value
Obtiene o establece el Framerate Máximo de este RenderSurface. Por defecto esto está destinado al padre UltrachartSurface.MaxFrameRate@
public virtual bool NeedsResizing { get; }
value = renderSurfaceBase.NeedsResizing
Retorno Es verdad si el tamaño RenderSurfaceBaseha cambiado y el mirador necesita cambiar el tamaño
public int ResizeThrottleMs { get; set; }
value = renderSurfaceBase.ResizeThrottleMs
renderSurfaceBase.ResizeThrottleMs = value
Consigue o establece un tiempo para redimensionar, e.g. 100ms significa que el RenderSurface va a enganchar todos los eventos de Resize recibidos dentro de una ventana de 100ms. Esto reduce el uso de CPU en el tamaño. También vea propiedad de dependencia UseResizeThrottle, que debe ser verdad
public IServiceContainer Services { get; set; }
value = renderSurfaceBase.Services
renderSurfaceBase.Services = value
Obtiene o establece la instancia IServiceContainer
public bool UseResizeThrottle { get; set; }
value = renderSurfaceBase.UseResizeThrottle
renderSurfaceBase.UseResizeThrottle = value
Si es cierto, utiliza el valor ResizeThrottleMs para subir Resize Events recibido dentro de una ventana de tiempo determinada, reduciendo la carga de CPU en tamaño
Métodos
public void AddSeries(IRenderableSeries renderableSeries)
renderSurfaceBase.AddSeries(renderableSeries)
Añada la instancia IRenderableSeries a la RenderSurfaceBase
- renderableSeries
- La serie de renderizados.
public void AddSeries(IEnumerable<IRenderableSeries> renderableSeries)
renderSurfaceBase.AddSeries(renderableSeries)
Añada la instancia IRenderableSeries a la IRenderSurface2D
- renderableSeries
public virtual void ClearSeries()
renderSurfaceBase.ClearSeries()
Limpiar todos IRenderableSeries en el RenderSurfaceBase
public bool ContainsSeries(IRenderableSeries renderableSeries)
result = renderSurfaceBase.ContainsSeries(renderableSeries)
Retorno Es verdad si el RenderSurfaceBasecontiene la instancia IRenderableSeries
- renderableSeries
- IRenderableSeries
Devuelve: verdadero si la serie renderable especificada contiene series; de lo contrario, falso.
public void Dispose(bool disposing)
renderSurfaceBase.Dispose(disposing)
Libera recursos no gestionados y, opcionalmente, gestionados.
- disposing
- verdadero para liberar recursos gestionados y no gestionados; falsos para liberar sólo recursos no gestionados.
public void Dispose()
renderSurfaceBase.Dispose()
Realiza tareas definidas por aplicaciones asociadas con la liberación, liberación o reajuste de recursos no gestionados.
protected virtual void DisposeUnmanagedResources()
renderSurfaceBase.DisposeUnmanagedResources()
Las clases desactivadas pueden anular este método para ser notificadas cuando se eliminan los recursos no gestionados.
protected override void Finalize()
renderSurfaceBase.Finalize()
Finaliza una instancia de la clase RenderSurfaceBase.
public Rect GetBoundsRelativeTo(IHitTestable relativeTo)
result = renderSurfaceBase.GetBoundsRelativeTo(relativeTo)
Obtiene los límites del elemento IHitTestable@ en relación a otro elemento IHitTestable@
- relativeTo
public abstract IRenderContext2D GetRenderContext()
result = renderSurfaceBase.GetRenderContext()
Cuando se sobrescribe en una clase derivada, devuelve a RenderContextvalida para el pase de renderizado actual
public static string GetRenderSurfaceType(UIElement element)
result = RenderSurfaceBase.GetRenderSurfaceType(element)
Consigue la propiedad RenderSurfaceType
- element
- El elemento.
public void InvalidateElement()
renderSurfaceBase.InvalidateElement()
Invalida el RenderSurface@, causando que se produzca una repaint
public bool IsPointWithinBounds(Point point)
result = renderSurfaceBase.IsPointWithinBounds(point)
Devuelve la verdad si el Punto está dentro de los límites del elemento IHitTestable
- point
- El punto de prueba
Devuelve: verdadero si el Punto está dentro de los límites
protected virtual void OnDraw()
renderSurfaceBase.OnDraw()
Eleve el evento de Dibujo que precedió la operación de renderizado
protected virtual void OnRendered(double duration)
renderSurfaceBase.OnRendered(duration)
Aumenta el evento Rendered con la duración especificada
- duration
- La duración.
protected virtual void OnRenderSurfaceBaseLoaded(object sender, RoutedEventArgs e)
renderSurfaceBase.OnRenderSurfaceBaseLoaded(sender, e)
Llamado cuando el RenderSurfaceBase se carga en el árbol visual
- sender
- El remitente.
- e
- La instancia RoutedEventArgs que contiene los datos del evento.
protected virtual void OnRenderSurfaceBaseUnloaded(object sender, RoutedEventArgs e)
renderSurfaceBase.OnRenderSurfaceBaseUnloaded(sender, e)
Llamado cuando el RenderSurfaceBase es descargado desde el árbol visual
- sender
- El remitente.
- e
- La instancia RoutedEventArgs que contiene los datos del evento.
protected virtual void OnRenderTimeElapsed()
renderSurfaceBase.OnRenderTimeElapsed()
Llamado cuando se plantee el evento Rendering
protected void PublishResizedMessage(int width, int height)
renderSurfaceBase.PublishResizedMessage(width, height)
Publishes RenderSurfaceResizedMessage@ con tamaño real de miraport
- width
- height
public virtual void RecreateSurface()
renderSurfaceBase.RecreateSurface()
Recrea los elementos requeridos por el Viewport, llamado una vez al inicio y cuando la superficie es redimensionada
public void RemoveSeries(IRenderableSeries renderableSeries)
renderSurfaceBase.RemoveSeries(renderableSeries)
Eliminar la IRenderableSeries de la RenderSurfaceBase
- renderableSeries
- La serie de renderizados.
public static void SetRenderSurfaceType(UIElement element, string value)
RenderSurfaceBase.SetRenderSurfaceType(element, value)
Establece la propiedad RenderSurfaceType
- element
- El elemento.
- value
- El valor.
public Point TranslatePoint(Point point, IHitTestable relativeTo)
result = renderSurfaceBase.TranslatePoint(point, relativeTo)
Traduce el punto relativo al otro elemento IHitTestable
- point
- El punto de entrada relativo a este IHitTestable
- relativeTo
- El otro IHitTestable@ para utilizar al transformar el punto
Devuelve: El punto transformado
Eventos
public event EventHandler<DrawEventArgs> Draw
renderSurfaceBase.Draw += handler
Aumenta cada vez que se dibuja la superficie de renderizado. Maneja este evento para pintar a la superficie
public event EventHandler<RenderedEventArgs> Rendered
renderSurfaceBase.Rendered += handler
Se ha incrementado inmediatamente después de que se haya completado la operación de renderizado
Campos
public static readonly DependencyProperty MaxFrameRateProperty
value = RenderSurfaceBase.MaxFrameRateProperty
Define el MaxFrameRate@DependencyProperty@
public static readonly DependencyProperty RenderSurfaceTypeProperty
value = RenderSurfaceBase.RenderSurfaceTypeProperty
Define el RenderSurfaceTypea propiedad adjunta
public static readonly DependencyProperty ResizeThrottleMsProperty
value = RenderSurfaceBase.ResizeThrottleMsProperty
Define el ResizeThrottleMs@DependencyProperty@
public static readonly DependencyProperty UseResizeThrottleProperty
value = RenderSurfaceBase.UseResizeThrottleProperty
Define el UseResizeThrottle@DependencyProperty@