RenderSurfaceBase
Абстрактный базовый класс для RenderSurface, который представляет собой область просмотра, используемую для быстрого рендеринга типов BaseRenderableSeries. Архитектура рендерера основана на плагинах, то есть мы создали несколько реализаций RenderSurfaceBase.
Наследует: ContentControl
Реализует: IRenderSurface2D, IRenderSurface, IDisposable, IHitTestable, IInvalidatableElement
Конструкторы
protected RenderSurfaceBase()
renderSurfaceBase = RenderSurfaceBase()
Инициирует новый экземпляр класса RenderSurfaceBase.
Свойства
public ReadOnlyCollection<IRenderableSeries> ChildSeries { get; }
value = renderSurfaceBase.ChildSeries
Получает ребенка RenderableSeries в этом экземпляре IRenderSurface2D
public Grid Grid { get; }
value = renderSurfaceBase.Grid
Получает корневой элемент Grid, который содержит компоненты в RenderSurfaceBase
public virtual bool IsSizeValidForDrawing { get; }
value = renderSurfaceBase.IsSizeValidForDrawing
Возвращается верно, если размер RenderSurfaceBase действителен для рисования
public double? MaxFrameRate { get; set; }
value = renderSurfaceBase.MaxFrameRate
renderSurfaceBase.MaxFrameRate = value
Получает или устанавливает максимальный фрамерат этого RenderSurface. По умолчанию это связано с материнским UltrachartSurface.MaxFrameRate
public virtual bool NeedsResizing { get; }
value = renderSurfaceBase.NeedsResizing
Верно, если размер RenderSurfaceBase изменился, и видопорт нуждается в изменении размера
public int ResizeThrottleMs { get; set; }
value = renderSurfaceBase.ResizeThrottleMs
renderSurfaceBase.ResizeThrottleMs = value
Получает или устанавливает тайм-аут для изменения размера, e.g. 100ms означает, что RenderSurface будет собирать все события Resize, полученные в окне 100ms. Это уменьшает использование процессора на изменение размера. Также см. UseResizeThrottle свойство зависимости, которое должно быть правдой
public IServiceContainer Services { get; set; }
value = renderSurfaceBase.Services
renderSurfaceBase.Services = value
Получает или устанавливает IServiceContainer instance
public bool UseResizeThrottle { get; set; }
value = renderSurfaceBase.UseResizeThrottle
renderSurfaceBase.UseResizeThrottle = value
Если это правда, то используется значение ResizeThrottleMs для пакетирования событий с изменением размера, полученных в течение определенного временного окна, что снижает нагрузку на процессор при изменении размера.
Методы
public void AddSeries(IRenderableSeries renderableSeries)
renderSurfaceBase.AddSeries(renderableSeries)
Добавляет экземпляр IRenderableSeries в адрес RenderSurfaceBase
- renderableSeries
- Реализуемая серия.
public void AddSeries(IEnumerable<IRenderableSeries> renderableSeries)
renderSurfaceBase.AddSeries(renderableSeries)
Добавляет экземпляр IRenderableSeries в адрес IRenderSurface2D
- renderableSeries
public virtual void ClearSeries()
renderSurfaceBase.ClearSeries()
Очистить все IRenderableSeries на RenderSurfaceBase
public bool ContainsSeries(IRenderableSeries renderableSeries)
result = renderSurfaceBase.ContainsSeries(renderableSeries)
Возвращение Правда, если RenderSurfaceBase содержит экземпляр IRenderableSeries
- renderableSeries
- IRenderableSeries instance
Возвращает: истинно, если указанный выводимый ряд содержит ряд; в противном случае - ложно.
public void Dispose(bool disposing)
renderSurfaceBase.Dispose(disposing)
Выпускает неуправляемые и - необязательно - управляемые ресурсы.
- disposing
- истинное высвобождение как управляемых, так и неуправляемых ресурсов; ложное высвобождение только неуправляемых ресурсов.
public void Dispose()
renderSurfaceBase.Dispose()
Выполняет определяемые приложением задачи, связанные с освобождением, освобождением или сбросом неуправляемых ресурсов.
protected virtual void DisposeUnmanagedResources()
renderSurfaceBase.DisposeUnmanagedResources()
Полученные классы могут переопределить этот метод, чтобы быть уведомлены, когда распоряжаться неуправляемыми ресурсами. Позвонили, когда утилизируется RenderSurfaceBase
protected override void Finalize()
renderSurfaceBase.Finalize()
Завершает экземпляр класса RenderSurfaceBase.
public Rect GetBoundsRelativeTo(IHitTestable relativeTo)
result = renderSurfaceBase.GetBoundsRelativeTo(relativeTo)
Получает границы текущего элемента IHitTestable относительно другого элемента IHitTestable
- relativeTo
public abstract IRenderContext2D GetRenderContext()
result = renderSurfaceBase.GetRenderContext()
При переопределении в производном классе возвращает действительный для текущего пропуска рендеринга RenderContext
public static string GetRenderSurfaceType(UIElement element)
result = RenderSurfaceBase.GetRenderSurfaceType(element)
Получает RenderSurfaceType присоединенное имущество
- element
- Элемент.
public void InvalidateElement()
renderSurfaceBase.InvalidateElement()
Недействительны RenderSurface, в результате чего происходит перекраска
public bool IsPointWithinBounds(Point point)
result = renderSurfaceBase.IsPointWithinBounds(point)
Возвращается верно, если Точка находится в пределах текущего элемента IHitTestable
- point
- Точка, чтобы проверить
Возвращает: если точка находится в пределах
protected virtual void OnDraw()
renderSurfaceBase.OnDraw()
Поднимает событие чертежа, которое предшествует операции рендеринга
protected virtual void OnRendered(double duration)
renderSurfaceBase.OnRendered(duration)
Повышает рендеринговое событие с заданной продолжительностью
- duration
- Продолжительность.
protected virtual void OnRenderSurfaceBaseLoaded(object sender, RoutedEventArgs e)
renderSurfaceBase.OnRenderSurfaceBaseLoaded(sender, e)
Называется, когда RenderSurfaceBase загружается в визуальное дерево
- sender
- Отправитель.
- e
- Пример RoutedEventArgs, содержащий данные о событии.
protected virtual void OnRenderSurfaceBaseUnloaded(object sender, RoutedEventArgs e)
renderSurfaceBase.OnRenderSurfaceBaseUnloaded(sender, e)
Называется, когда RenderSurfaceBase выгружается из визуального дерева
- sender
- Отправитель.
- e
- Пример RoutedEventArgs, содержащий данные о событии.
protected virtual void OnRenderTimeElapsed()
renderSurfaceBase.OnRenderTimeElapsed()
Называется, когда поднимается событие рендеринга
protected void PublishResizedMessage(int width, int height)
renderSurfaceBase.PublishResizedMessage(width, height)
Опубликовано RenderSurfaceResizedMessage с фактическим размером Viewport
- width
- height
public virtual void RecreateSurface()
renderSurfaceBase.RecreateSurface()
Воссоздает элементы, требуемые Viewport, называемые один раз при запуске и при изменении размера поверхности.
public void RemoveSeries(IRenderableSeries renderableSeries)
renderSurfaceBase.RemoveSeries(renderableSeries)
Удалить IRenderableSeries из RenderSurfaceBase
- renderableSeries
- Реализуемая серия.
public static void SetRenderSurfaceType(UIElement element, string value)
RenderSurfaceBase.SetRenderSurfaceType(element, value)
Устанавливает RenderSurfaceType прилагаемое имущество
- element
- Элемент.
- value
- Ценность.
public Point TranslatePoint(Point point, IHitTestable relativeTo)
result = renderSurfaceBase.TranslatePoint(point, relativeTo)
Переводит точку относительно другого элемента IHitTestable
- point
- Точка входа относительно этого IHitTestable
- relativeTo
- Другой IHitTestable для использования при преобразовании точки
Возвращает: Преобразованная точка
События
public event EventHandler<DrawEventArgs> Draw
renderSurfaceBase.Draw += handler
Поднимается каждый раз, когда необходимо отрисовать поверхность рендеринга. Обработать это событие для рисования на поверхности
public event EventHandler<RenderedEventArgs> Rendered
renderSurfaceBase.Rendered += handler
Поднимается сразу после завершения операции рендеринга.
Поля
public static readonly DependencyProperty MaxFrameRateProperty
value = RenderSurfaceBase.MaxFrameRateProperty
Определяет MaxFrameRate DependencyProperty
public static readonly DependencyProperty RenderSurfaceTypeProperty
value = RenderSurfaceBase.RenderSurfaceTypeProperty
Определяет присоединенное свойство RenderSurfaceType.
public static readonly DependencyProperty ResizeThrottleMsProperty
value = RenderSurfaceBase.ResizeThrottleMsProperty
Определяет ResizeThrottleMs DependencyProperty
public static readonly DependencyProperty UseResizeThrottleProperty
value = RenderSurfaceBase.UseResizeThrottleProperty
Определяет UseResizeThrottle DependencyProperty