public MeetingWindowManager(IEventAggregator eventAggregator) { _eventAggregator = eventAggregator; _meetingSdkWrapper = IoC.Get <IMeetingSdkAgent>(); _deviceNameAccessor = IoC.Get <IDeviceNameAccessor>(); LayoutRendererStore = new LayoutRendererStore(); ModeDisplayerStore = new ModeDisplayerStore(); _layoutWindows = new List <ILayoutWindow>(); _layoutWindows.Add(this); }
public bool LayoutChange(LayoutRenderType layoutRenderType) { IScreen screen = VideoBoxManager as IScreen; if (layoutRenderType == LayoutRenderType.AutoLayout) { LayoutRendererStore.CurrentLayoutRenderType = layoutRenderType; if (ModeChange(ModeDisplayerStore.CurrentModeDisplayerType)) { //LayoutRendererStore.CurrentLayoutRenderType = layoutRenderType; _eventAggregator.GetEvent <LayoutChangedEvent>().Publish(layoutRenderType); return(true); } return(false); } else { try { _eventAggregator.GetEvent <RefreshCanvasEvent>().Publish(); if (LayoutRendererStore.Create(layoutRenderType).Render(GetVisibleVideoBoxs(), screen.Size, GetSpecialVideoBoxName(layoutRenderType))) { LayoutRendererStore.CurrentLayoutRenderType = layoutRenderType; _eventAggregator.GetEvent <LayoutChangedEvent>().Publish(layoutRenderType); return(true); } else if (LayoutRendererStore.Create(LayoutRenderType.AverageLayout).Render(GetVisibleVideoBoxs(), screen.Size, GetSpecialVideoBoxName(LayoutRenderType.AverageLayout))) { LayoutRendererStore.CurrentLayoutRenderType = LayoutRenderType.AverageLayout; _eventAggregator.GetEvent <LayoutChangedEvent>().Publish(LayoutRenderType.AverageLayout); return(false); } return(false); } catch (Exception ex) { MeetingLogger.Logger.LogError(ex, ex.Message); } return(false); } }
public ExtendedWindowManager(IMeetingWindowManager meetingWindowManager, IEventAggregator eventAggregator, IMeetingSdkAgent meetingSdkAgent) { windowManager = meetingWindowManager; _eventAggregator = eventAggregator; _meetingSdkAgent = meetingSdkAgent; _eventAggregator.GetEvent <VideoBoxAddedEvent>().Subscribe(AccountResourceAddedEventHandler); _eventAggregator.GetEvent <VideoBoxRemovedEvent>().Subscribe(AccountResourceRemovedEventHandler); LayoutRendererStore = new LayoutRendererStore() { CurrentLayoutRenderType = LayoutRenderType.AverageLayout, }; Properties = new Dictionary <string, object>(); }
public VideoStreamModel[] GetVideoStreamModels(Size canvasSize) { List <IVideoBox> copiedVideoBoxs = new List <IVideoBox>(); foreach (IVideoBox item in GetVisibleVideoBoxs()) { VideoBox videoBox = item as VideoBox; var copiedItem = videoBox.Copy(); copiedVideoBoxs.Add(copiedItem); } if (LayoutRendererStore.CurrentLayoutRenderType == LayoutRenderType.AutoLayout) { ModeDisplayerStore.Create().Display(copiedVideoBoxs, canvasSize); } else { LayoutRendererStore.Create().Render(copiedVideoBoxs, canvasSize, GetSpecialVideoBoxName(LayoutRendererStore.CurrentLayoutRenderType)); } List <VideoStreamModel> videoStreamModels = new List <VideoStreamModel>(); foreach (var copiedVideoBox in copiedVideoBoxs) { VideoStreamModel videoStreamModel = new VideoStreamModel() { AccountId = copiedVideoBox.AccountResource.AccountModel.AccountId.ToString(), Height = (int)Math.Round(copiedVideoBox.Height), StreamId = copiedVideoBox.AccountResource.ResourceId, Width = (int)Math.Round(copiedVideoBox.Width), X = (int)Math.Round(copiedVideoBox.PosX), Y = (int)Math.Round(copiedVideoBox.PosY), }; VideoBox videoBox = copiedVideoBox as VideoBox; videoStreamModel.VideoType = videoBox.AccountResource.MediaType == MediaType.VideoDoc ? VideoType.DataType : VideoType.VideoType; videoStreamModels.Add(videoStreamModel); } return(videoStreamModels.ToArray()); }
public bool LayoutChange(LayoutRenderType layoutRenderType) { return(LayoutRendererStore.Create(layoutRenderType).Render(GetVisibleVideoBoxs(), Size, GetSpecialVideoBoxName(layoutRenderType))); }