import { CxUIWidget } from './ui_widget'; import { CxXYWH } from './basic_types'; import { CxRenderingContext } from './rendering_context'; import { CxScene } from './scene'; import { CxNodePayloadViewport } from './node_payload_viewport'; import { CxGeometry } from './geometry'; import { CxVisualizerLines } from './visualizer_lines'; import { CxNodePayloadOrtho } from './node_payload_ortho'; import { CxSelectableBackground } from './selectable_background'; import { CxNodePayloadName } from './node_payload_name'; import { CxPointerEventsProcessor, CxNodePayloadInteractive } from './node_payload_interactive'; import { CxNodePayloadLabel } from './node_payload_label'; import { CxTextureFont } from './texture_generated_font'; import { CxNodePayloadTransform } from './node_payload_transform'; export declare type CxCurveData = [[number], [number]]; export interface CxLogDataProvider { subscribe_to_channel(channel_uri: string): void; unsubscribe_from_channel(channel_uri: string): void; set_range(start: number, end: number, max_points: number): void; get_data(channel_uri: string, start: number, end: number, max_points: number): CxCurveData; } export declare class CxCurve { name: string; left: number; right: number; channel_uri: string; visualizer: CxVisualizerLines; track: CxTrack; constructor(track: CxTrack, name: string); } export declare class MinorGridGeometry implements CxGeometry { track: CxTrack; preorder(context: CxRenderingContext): void; vertices(context: CxRenderingContext): Float32Array; colors(context: CxRenderingContext): Float32Array; texture(context: CxRenderingContext): Float32Array; normals(context: CxRenderingContext): Float32Array; constructor(track: CxTrack); } export declare class IndexGridGeometry implements CxGeometry { track: CxTrack; preorder(context: CxRenderingContext): void; vertices(context: CxRenderingContext): Float32Array; colors(context: CxRenderingContext): Float32Array; texture(context: CxRenderingContext): Float32Array; normals(context: CxRenderingContext): Float32Array; constructor(track: CxTrack); } export declare class CurveGeometry implements CxGeometry { track: CxTrack; channel: string; preorder(context: CxRenderingContext): void; vertices(context: CxRenderingContext): Float32Array; colors(context: CxRenderingContext): Float32Array; texture(context: CxRenderingContext): Float32Array; normals(context: CxRenderingContext): Float32Array; constructor(track: CxTrack, channel: string); } export declare class CxTrack implements CxPointerEventsProcessor { name: string; width: number; curves: Array; major_divisions: number; minor_divisions: number; border: number; _viewport: CxNodePayloadViewport; visualizer_major_grid: CxVisualizerLines; visualizer_minor_grid: CxVisualizerLines; visualizer_index_grid: CxVisualizerLines; proj_tmp: CxNodePayloadOrtho; _selectable_background: CxSelectableBackground; _index_grid_geometry: IndexGridGeometry; _track_name: CxNodePayloadName; _template: CxLogTemplate; _drag: boolean; _drag_start_x: number; _drag_start_y: number; _drag_index: number; constructor(template: CxLogTemplate, name: string); pressed(source: CxNodePayloadInteractive, object: number, screen_x: number, screen_y: number): void; moved(source: CxNodePayloadInteractive, object: number, screen_x: number, screen_y: number): void; released(source: CxNodePayloadInteractive, object: number, screen_x: number, screen_y: number): void; plot(context: CxRenderingContext, vp: CxXYWH): void; } export declare class CxLogTemplate { index_resolution: number; index_divisions: number; tracks: Array; _logplot: CxLogPlot; constructor(logplot: CxLogPlot); } export declare class CxLogPlot extends CxUIWidget { template: CxLogTemplate; vp: CxXYWH; start_index: number; font: CxTextureFont; label: CxNodePayloadLabel; transform: CxNodePayloadTransform; _provider: CxLogDataProvider; _viewport: CxNodePayloadViewport; constructor(scene: CxScene, provider: CxLogDataProvider); enter(context: CxRenderingContext): void; exit(context: CxRenderingContext): void; }