[][src]Struct makepad_render::Cx

pub struct Cx {
    pub running: bool,
    pub counter: usize,
    pub platform_type: PlatformType,
    pub windows: Vec<CxWindow>,
    pub windows_free: Vec<usize>,
    pub passes: Vec<CxPass>,
    pub passes_free: Vec<usize>,
    pub views: Vec<CxView>,
    pub views_free: Vec<usize>,
    pub fonts: Vec<CxFont>,
    pub fonts_atlas: CxFontsAtlas,
    pub textures: Vec<CxTexture>,
    pub textures_free: Vec<usize>,
    pub shaders: Vec<CxShader>,
    pub shader_map: HashMap<ShaderGen, usize>,
    pub shader_instance_id: usize,
    pub str_to_id: RefCell<HashMap<String, usize>>,
    pub id_to_str: RefCell<HashMap<usize, String>>,
    pub is_in_redraw_cycle: bool,
    pub vr_can_present: bool,
    pub default_dpi_factor: f32,
    pub current_dpi_factor: f32,
    pub window_stack: Vec<usize>,
    pub pass_stack: Vec<usize>,
    pub view_stack: Vec<usize>,
    pub turtles: Vec<Turtle>,
    pub align_list: Vec<Area>,
    pub redraw_child_areas: Vec<Area>,
    pub redraw_parent_areas: Vec<Area>,
    pub _redraw_child_areas: Vec<Area>,
    pub _redraw_parent_areas: Vec<Area>,
    pub redraw_id: u64,
    pub repaint_id: u64,
    pub event_id: u64,
    pub timer_id: u64,
    pub signal_id: usize,
    pub theme_update_id: usize,
    pub prev_key_focus: Area,
    pub next_key_focus: Area,
    pub key_focus: Area,
    pub keys_down: Vec<KeyEvent>,
    pub debug_area: Area,
    pub down_mouse_cursor: Option<MouseCursor>,
    pub hover_mouse_cursor: Option<MouseCursor>,
    pub captured_fingers: Vec<Area>,
    pub finger_tap_count: Vec<(Vec2, f64, u32)>,
    pub finger_down_abs_start: Vec<Vec2>,
    pub finger_down_rel_start: Vec<Vec2>,
    pub finger_over_last_area: Area,
    pub _finger_over_last_area: Area,
    pub playing_anim_areas: Vec<AnimArea>,
    pub ended_anim_areas: Vec<AnimArea>,
    pub frame_callbacks: Vec<Area>,
    pub _frame_callbacks: Vec<Area>,
    pub signals: HashMap<Signal, Vec<StatusId>>,
    pub style_base: CxStyle,
    pub styles: Vec<CxStyle>,
    pub style_map: HashMap<StyleId, usize>,
    pub style_stack: Vec<usize>,
    pub command_settings: HashMap<CommandId, CxCommandSetting>,
    pub panic_now: bool,
    pub panic_redraw: bool,
    pub live_client: Option<LiveClient>,
    pub platform: CxPlatform,
}

Fields

running: boolcounter: usizeplatform_type: PlatformTypewindows: Vec<CxWindow>windows_free: Vec<usize>passes: Vec<CxPass>passes_free: Vec<usize>views: Vec<CxView>views_free: Vec<usize>fonts: Vec<CxFont>fonts_atlas: CxFontsAtlastextures: Vec<CxTexture>textures_free: Vec<usize>shaders: Vec<CxShader>shader_map: HashMap<ShaderGen, usize>shader_instance_id: usizestr_to_id: RefCell<HashMap<String, usize>>id_to_str: RefCell<HashMap<usize, String>>is_in_redraw_cycle: boolvr_can_present: booldefault_dpi_factor: f32current_dpi_factor: f32window_stack: Vec<usize>pass_stack: Vec<usize>view_stack: Vec<usize>turtles: Vec<Turtle>align_list: Vec<Area>redraw_child_areas: Vec<Area>redraw_parent_areas: Vec<Area>_redraw_child_areas: Vec<Area>_redraw_parent_areas: Vec<Area>redraw_id: u64repaint_id: u64event_id: u64timer_id: u64signal_id: usizetheme_update_id: usizeprev_key_focus: Areanext_key_focus: Areakey_focus: Areakeys_down: Vec<KeyEvent>debug_area: Areadown_mouse_cursor: Option<MouseCursor>hover_mouse_cursor: Option<MouseCursor>captured_fingers: Vec<Area>finger_tap_count: Vec<(Vec2, f64, u32)>finger_down_abs_start: Vec<Vec2>finger_down_rel_start: Vec<Vec2>finger_over_last_area: Area_finger_over_last_area: Areaplaying_anim_areas: Vec<AnimArea>ended_anim_areas: Vec<AnimArea>frame_callbacks: Vec<Area>_frame_callbacks: Vec<Area>signals: HashMap<Signal, Vec<StatusId>>style_base: CxStylestyles: Vec<CxStyle>style_map: HashMap<StyleId, usize>style_stack: Vec<usize>command_settings: HashMap<CommandId, CxCommandSetting>panic_now: boolpanic_redraw: boollive_client: Option<LiveClient>platform: CxPlatform

Methods

impl Cx[src]

pub fn begin_style(&mut self, style_id: StyleId)[src]

pub fn end_style(&mut self)[src]

pub fn get_mut_style_top(&mut self) -> &mut CxStyle[src]

impl Cx[src]

pub fn add_shader(&mut self, sg: ShaderGen, name: &str) -> Shader[src]

pub fn process_tap_count(&mut self, digit: usize, pos: Vec2, time: f64) -> u32[src]

pub fn get_dpi_factor_of(&mut self, area: &Area) -> f32[src]

pub fn get_delegated_dpi_factor(&mut self, pass_id: usize) -> f32[src]

pub fn compute_passes_to_repaint(
    &mut self,
    passes_todo: &mut Vec<usize>,
    windows_need_repaint: &mut usize
)
[src]

pub fn redraw_pass_of(&mut self, area: Area)[src]

pub fn redraw_pass_and_dep_of_passes(&mut self, pass_id: usize)[src]

pub fn redraw_pass_and_sub_passes(&mut self, pass_id: usize)[src]

pub fn redraw_child_area(&mut self, area: Area)[src]

pub fn redraw_parent_area(&mut self, area: Area)[src]

pub fn redraw_previous_areas(&mut self)[src]

pub fn view_will_redraw(&self, view_id: usize) -> bool[src]

pub fn check_ended_anim_areas(&mut self, time: f64)[src]

pub fn update_area_refs(&mut self, old_area: Area, new_area: Area)[src]

pub fn set_key_focus(&mut self, focus_area: Area)[src]

pub fn revert_key_focus(&mut self)[src]

pub fn has_key_focus(&self, focus_area: Area) -> bool[src]

pub fn process_key_down(&mut self, key_event: KeyEvent)[src]

pub fn process_key_up(&mut self, key_event: &KeyEvent)[src]

pub fn call_all_keys_up<F>(&mut self, event_handler: F) where
    F: FnMut(&mut Cx, &mut Event), 
[src]

pub fn call_event_handler<F>(&mut self, event_handler: F, event: &mut Event) where
    F: FnMut(&mut Cx, &mut Event), 
[src]

pub fn call_draw_event<F>(&mut self, event_handler: F) where
    F: FnMut(&mut Cx, &mut Event), 
[src]

pub fn call_animation_event<F>(&mut self, event_handler: F, time: f64) where
    F: FnMut(&mut Cx, &mut Event), 
[src]

pub fn call_frame_event<F>(&mut self, event_handler: F, time: f64) where
    F: FnMut(&mut Cx, &mut Event), 
[src]

pub fn next_frame(&mut self, area: Area)[src]

pub fn new_signal(&mut self) -> Signal[src]

pub fn send_signal(&mut self, signal: Signal, status: StatusId)[src]

pub fn call_signals<F>(&mut self, event_handler: F) where
    F: FnMut(&mut Cx, &mut Event), 
[src]

pub fn status_http_send_ok() -> StatusId[src]

pub fn status_http_send_fail() -> StatusId[src]

impl Cx[src]

pub fn pick(&self, file: &str, line: usize, col: usize, inp: Color) -> Color[src]

impl Cx[src]

pub fn render_view(
    &mut self,
    pass_id: usize,
    view_id: usize,
    scroll: Vec2,
    clip: (Vec2, Vec2),
    repaint_id: u64,
    d3d11_cx: &D3d11Cx,
    zbias: &mut f32,
    zbias_step: f32
)
[src]

pub fn setup_pass_render_targets(
    &mut self,
    pass_id: usize,
    inherit_dpi_factor: f32,
    first_target: Option<&ComPtr<ID3D11RenderTargetView>>,
    d3d11_cx: &D3d11Cx
)
[src]

pub fn draw_pass_to_window(
    &mut self,
    pass_id: usize,
    vsync: bool,
    dpi_factor: f32,
    d3d11_window: &mut D3d11Window,
    d3d11_cx: &D3d11Cx
)
[src]

pub fn draw_pass_to_texture(
    &mut self,
    pass_id: usize,
    dpi_factor: f32,
    d3d11_cx: &D3d11Cx
)
[src]

impl Cx[src]

pub fn hlsl_compile_all_shaders(&mut self, d3d11_cx: &D3d11Cx)[src]

pub fn hlsl_type(ty: &str) -> String[src]

pub fn hlsl_assemble_struct(
    lead: &str,
    name: &str,
    vars: &Vec<ShVar>,
    semantic: &str,
    field: &str,
    post: &str
) -> String
[src]

pub fn hlsl_init_struct(vars: &Vec<ShVar>, field: &str) -> String[src]

pub fn hlsl_assemble_texture_slots(textures: &Vec<ShVar>) -> String[src]

pub fn hlsl_assemble_shader(
    sg: &ShaderGen
) -> Result<(String, CxShaderMapping), SlErr>
[src]

pub fn hlsl_compile_shader(
    sh: &mut CxShader,
    d3d11_cx: &D3d11Cx
) -> Result<(), SlErr>
[src]

impl Cx[src]

pub fn event_loop<F>(&mut self, event_handler: F) where
    F: FnMut(&mut Cx, &mut Event), 
[src]

pub fn show_text_ime(&mut self, x: f32, y: f32)[src]

pub fn hide_text_ime(&mut self)[src]

pub fn start_timer(&mut self, interval: f64, repeats: bool) -> Timer[src]

pub fn stop_timer(&mut self, timer: &mut Timer)[src]

pub fn post_signal(signal: Signal, status: StatusId)[src]

pub fn update_menu(&mut self, _menu: &Menu)[src]

impl Cx[src]

pub fn get_default_window_size(&self) -> Vec2[src]

pub fn file_read(&mut self, path: &str) -> FileRead[src]

pub fn file_write(&mut self, path: &str, data: &[u8]) -> u64[src]

pub fn process_desktop_pre_event<F>(
    &mut self,
    event: &mut Event,
    event_handler: F
) where
    F: FnMut(&mut Cx, &mut Event), 
[src]

pub fn process_desktop_post_event(&mut self, event: &mut Event) -> bool[src]

pub fn process_desktop_paint_callbacks<F>(
    &mut self,
    time: f64,
    event_handler: F
) -> bool where
    F: FnMut(&mut Cx, &mut Event), 
[src]

pub fn process_desktop_file_reads<F>(&mut self, event_handler: F) where
    F: FnMut(&mut Cx, &mut Event), 
[src]

pub fn process_to_wasm<F>(&mut self, _msg: u32, _event_handler: F) -> u32 where
    F: FnMut(&mut Cx, &mut Event), 
[src]

pub fn load_theme_fonts(&mut self)[src]

pub fn write_log(data: &str)[src]

pub fn http_send(
    &self,
    verb: &str,
    path: &str,
    _proto: &str,
    domain: &str,
    port: u16,
    content_type: &str,
    body: &[u8],
    signal: Signal
)
[src]

impl Cx[src]

pub fn set_count_of_aligned_instance(&mut self, instance_count: usize) -> Area[src]

pub fn begin_turtle(&mut self, layout: Layout, guard_area: Area)[src]

pub fn end_turtle(&mut self, guard_area: Area) -> Rect[src]

pub fn walk_turtle(&mut self, walk: Walk) -> Rect[src]

pub fn walk_turtle_with_old(
    &mut self,
    walk: Walk,
    old_turtle: Option<&Turtle>
) -> Rect
[src]

pub fn walk_turtle_right_no_wrap(
    &mut self,
    w: f32,
    h: f32,
    scroll: Vec2
) -> Option<Rect>
[src]

pub fn turtle_new_line(&mut self)[src]

pub fn turtle_line_is_visible(&mut self, min_height: f32, scroll: Vec2) -> bool[src]

pub fn turtle_new_line_min_height(&mut self, min_height: f32)[src]

pub fn get_turtle_rect(&self) -> Rect[src]

pub fn get_turtle_biggest(&self) -> f32[src]

pub fn get_turtle_bounds(&self) -> Vec2[src]

pub fn set_turtle_bounds(&mut self, bound: Vec2)[src]

pub fn get_turtle_origin(&self) -> Vec2[src]

pub fn move_turtle(&mut self, dx: f32, dy: f32)[src]

pub fn get_turtle_pos(&self) -> Vec2[src]

pub fn set_turtle_pos(&mut self, pos: Vec2)[src]

pub fn get_rel_turtle_pos(&self) -> Vec2[src]

pub fn set_turtle_padding(&mut self, padding: Padding)[src]

pub fn visible_in_turtle(&self, geom: Rect, scroll: Vec2) -> bool[src]

pub fn compute_turtle_width(&mut self)[src]

pub fn compute_turtle_height(&mut self)[src]

pub fn change_turtle_align_x(&mut self, fx: f32)[src]

pub fn change_turtle_align_y(&mut self, fy: f32)[src]

pub fn turtle_align_y(&mut self)[src]

pub fn turtle_align_x(&mut self)[src]

pub fn reset_turtle_bounds(&mut self)[src]

pub fn reset_turtle_pos(&mut self)[src]

pub fn get_width_left(&self) -> f32[src]

pub fn get_width_total(&self) -> f32[src]

pub fn get_height_left(&self) -> f32[src]

pub fn get_height_total(&self) -> f32[src]

pub fn is_height_computed(&self) -> bool[src]

pub fn is_width_computed(&self) -> bool[src]

impl Cx[src]

pub fn reset_font_atlas_and_redraw(&mut self)[src]

pub fn load_font(&mut self, path: &str) -> Font[src]

impl Cx[src]

pub fn set_down_mouse_cursor(&mut self, mouse_cursor: MouseCursor)[src]

pub fn set_hover_mouse_cursor(&mut self, mouse_cursor: MouseCursor)[src]

impl Cx[src]

pub fn new_instance_draw_call(
    &mut self,
    shader: &Shader,
    instance_count: usize
) -> InstanceArea
[src]

pub fn new_instance(
    &mut self,
    shader: &Shader,
    instance_count: usize
) -> InstanceArea
[src]

pub fn align_instance(&mut self, instance_area: InstanceArea) -> AlignedInstance[src]

pub fn update_aligned_instance_count(
    &mut self,
    aligned_instance: &AlignedInstance
)
[src]

pub fn set_view_scroll_x(&mut self, view_id: usize, scroll_pos: f32)[src]

pub fn set_view_scroll_y(&mut self, view_id: usize, scroll_pos: f32)[src]

impl Cx[src]

Trait Implementations

impl Default for Cx[src]

Auto Trait Implementations

impl !RefUnwindSafe for Cx

impl !Send for Cx

impl !Sync for Cx

impl Unpin for Cx

impl UnwindSafe for Cx

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.