1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
use crate::wrappers::{*, structs::*, unreal::*}; use super::*; pub struct StatGraphWrapper(pub usize); impl_object!(StatGraphWrapper); impl StatGraph for StatGraphWrapper {} pub trait StatGraph : Object { fn get_record_settings(&self) -> Option<SampleRecordSettingsWrapper> { unsafe { SampleRecordSettingsWrapper::try_new(StatGraph_TA_Get_RecordSettings(self.addr())) } } fn get_last_tick_time(&self) -> Double { unsafe { let mut result = Double::new(); let result_ptr: *mut Double = &mut result as *mut Double; StatGraph_TA_Get_LastTickTime(self.addr(), result_ptr); result } } fn get_sample_histories(&self) -> RLArray<SampleHistoryWrapper> { unsafe { let mut result = RLArrayRaw::new(); let result_ptr: *mut RLArrayRaw = &mut result as *mut RLArrayRaw; StatGraph_TA_Get_SampleHistories(self.addr(), result_ptr); RLArray::from_raw(result) } } fn stop_drawing(&self) { unsafe { StatGraph_TA_StopDrawing(self.addr()); } } fn create_sample_history(&self, title: RLString) -> Option<SampleHistoryWrapper> { unsafe { let mut title = title; let title: *mut RLString = &mut title as *mut RLString; SampleHistoryWrapper::try_new(StatGraph_TA_CreateSampleHistory(self.addr(), title)) } } fn add_sample_history(&self, history: SampleHistoryWrapper) -> Option<SampleHistoryWrapper> { unsafe { SampleHistoryWrapper::try_new(StatGraph_TA_AddSampleHistory(self.addr(), history.addr())) } } } extern "C" { fn StatGraph_TA_Get_RecordSettings(obj: usize) -> usize; fn StatGraphWrapper_SetRecordSettings(obj: usize, new_val: usize); fn StatGraph_TA_Get_LastTickTime(obj: usize, result: *mut Double); fn StatGraphWrapper_SetLastTickTime(obj: usize, new_val: *mut Double); fn StatGraph_TA_Get_SampleHistories(obj: usize, result: *mut RLArrayRaw); fn StatGraph_TA_StopDrawing(obj: usize); fn StatGraph_TA_CreateSampleHistory(obj: usize, Title: *mut RLString) -> usize; fn StatGraph_TA_AddSampleHistory(obj: usize, History: usize) -> usize; }