예제 #1
0
파일: MainScreen.cs 프로젝트: i3ym/DeloP
            void clickOpen()
            {
                var selector = new BackgroundDrawable <DeloFileSelector>(new DeloFileSelector())
                {
                    RelativeSizeAxes = Axes.Both, Depth = -99, Background = Colors.Background
                };

                selector.Child.CurrentFile.ValueChanged += e => Task.Run(() =>
                {
                    try
                    {
                        FullCanvas.Canvas.Image.Clear();
                        FullCanvas.Canvas.Image.AddLayer(SKBitmap.FromImage(SKImage.FromEncodedData(File.OpenWrite(e.NewValue.FullName))));
                        openedPath = e.NewValue.FullName;

                        Schedule(() => Remove(selector));
                    }
                    catch { }
                });

                Schedule(() => Add(selector));
            }
예제 #2
0
        protected void DrawBackground(ref UiViewDrawParameters parameters)
        {
            float opacity = parameters.Opacity;

            if (opacity == 0)
            {
                return;
            }

            Color backgroundColor = BackgroundColor * opacity;

            if (backgroundColor.A > 0)
            {
                if (BackgroundDrawable != null)
                {
                    BackgroundDrawable.Draw(parameters.DrawBatch, ScreenBounds, backgroundColor);
                }
                else
                {
                    parameters.DrawBatch.DrawRectangle(ScreenBounds, backgroundColor);
                }
            }
        }