public void InitializeDanmaku(DanmakuMode mode, double fontZoom, int _speed, DanmakuBorderStyle style) { sizeZoom = fontZoom; speed = _speed; borderStyle = style; SetRows(); }
private void addDanmaku(String str, Color color, double size, DanmakuMode mode) { var tb = new TextBlock() { Text = str, Foreground = new SolidColorBrush(color), FontSize = size, MinWidth = 0, MinHeight = 0, MaxWidth = double.PositiveInfinity, MaxHeight = double.PositiveInfinity, }; tb.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); tb.Arrange(new Rect()); allocators[mode].allocate(tb); }
/// <summary> /// Add a danmaku /// </summary> /// <param name="text"></param> /// <param name="line"></param> /// <param name="foreground"></param> /// <param name="size"></param> /// <param name="mode"></param> public void AddDanmaku(string text, Color foreground, double size, DanmakuMode mode, bool shadow, int speed = 5000) { switch (mode) { case DanmakuMode.Top: AddTopMotionlessDanmaku(text, foreground, size, shadow); break; case DanmakuMode.Bottom: AddBottomMotionlessDanmaku(text, foreground, size, shadow); break; case DanmakuMode.Scroll: AddScrollableDanmaku(text, foreground, size, speed, shadow); break; default: break; } }
public DanmakuAllocator(Canvas canvas, DanmakuMode mode) { this.canvas = canvas; this.mode = mode; layers = new List <IDanmakuAllocator>(); }