예제 #1
0
        public static void Main(string[] args)
        {
            FigmaApplication.Init(Environment.GetEnvironmentVariable("TOKEN"));
            Application.Init();

            var window = new Window(WindowType.Toplevel);

            window.HeightRequest = window.WidthRequest = 700;

            var scrollWindow = new ScrolledWindow
            {
                HscrollbarPolicy = PolicyType.Always,
                VscrollbarPolicy = PolicyType.Always
            };

            window.Add(scrollWindow);

            var scrollWindowFixed = new Fixed();

            scrollWindow.AddWithViewport(scrollWindowFixed);

            var figmaConverters   = FigmaSharp.AppContext.Current.GetFigmaConverters().Union(Resources.GetConverters()).ToArray();
            var scrollViewWrapper = new ScrollViewWrapper(scrollWindow);

            exampleViewManager = new ExampleViewManager(scrollViewWrapper, figmaConverters);
            window.ShowAll();

            Application.Run();
        }
예제 #2
0
        public MainWindow()
        {
            InitializeComponent();

            var scrollViewWrapper = new ScrollViewWrapper(ContainerPanel);

            manager = new ExampleViewManager(scrollViewWrapper);
        }
예제 #3
0
        public MainWindow()
        {
            InitializeComponent();

            var converters = FigmaSharp.AppContext.Current.GetFigmaConverters();
            var storyboard = new FigmaStoryboard(converters);

            var scrollViewWrapper = new ScrollViewWrapper(ContainerPanel);

            documentExample = new DocumentExample(scrollViewWrapper, storyboard);
        }
예제 #4
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.

            View.Layer.BackgroundColor = UIColor.Black.CGColor;

            var scrollViewWrapper = new ScrollViewWrapper(MainScrollView);

            manager = new ExampleViewManager(scrollViewWrapper);
        }
예제 #5
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.

            View.Layer.BackgroundColor = UIColor.Black.CGColor;

            var scrollViewWrapper = new ScrollViewWrapper(MainScrollView);

            var figmaConverters = FigmaSharp.AppContext.Current.GetFigmaConverters().Union(Resources.GetConverters()).ToArray();

            exampleViewManager = new ExampleViewManager(scrollViewWrapper, figmaConverters);
        }
예제 #6
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.


            var converters = FigmaSharp.AppContext.Current.GetFigmaConverters();
            var storyboard = new FigmaStoryboard(converters);

            var scrollViewWrapper = new ScrollViewWrapper(ScrollView);

            documentExample = new DocumentExample(scrollViewWrapper, storyboard);
        }
예제 #7
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            scrollViewWrapper = new ScrollViewWrapper(scrollview);
            outlinePanel      = new OutlinePanel();

            var converters = FigmaSharp.AppContext.Current.GetFigmaConverters();

            //we load all the services
            fileProvider        = new FigmaManifestFileProvider(this.GetType().Assembly);
            rendererService     = new FigmaFileRendererService(fileProvider, converters);
            distributionService = new FigmaViewRendererDistributionService(rendererService);

            designerDelegate = new FigmaDesignerDelegate();

            //figma session handles
            session         = new FigmaDesignerSession(fileProvider, rendererService, distributionService);
            designerSurface = new FigmaDesignerSurface(designerDelegate, session);

            // we set to our surface current window to listen changes on it
            var window = NSApplication.SharedApplication.DangerousWindows
                         .FirstOrDefault(s => s is WindowWrapper) as WindowWrapper;

            designerSurface.SetWindow(window);

            //time to reload a figma document in the current session
            session.Reload(scrollViewWrapper, "FigmaStoryboard.figma", new FigmaViewRendererServiceOptions());

            //
            designerSurface.StartHoverSelection();

            var second = new NSWindow(new CGRect(0, 0, 300, 600), NSWindowStyle.Titled | NSWindowStyle.Resizable | NSWindowStyle.Closable, NSBackingStore.Buffered, false);

            window.AddChildWindow(second, NSWindowOrderingMode.Above);

            //propertyPanel = new FigmaPropertyPanel();
            //second.ContentView = propertyPanel.View;
            //propertyPanel.Initialize();

            //surface.FocusedViewChanged += (sender, e) =>
            //{
            //    var model = session.GetModel(e);
            //    propertyPanel.Select(model);
            //};

            //propertyPanel.Select(session.MainViews[0].FigmaNode);
        }
예제 #8
0
        public static void Main(string[] args)
        {
            FigmaApplication.Init(Environment.GetEnvironmentVariable("TOKEN"));
            Application.Init();

            var window = new Window(WindowType.Toplevel);

            window.HeightRequest = window.WidthRequest = 700;

            var scrollWindow = new ScrolledWindow();

            window.Add(scrollWindow);

            var scrollViewWrapper = new ScrollViewWrapper(scrollWindow);

            exampleViewManager = new ExampleViewManager(scrollViewWrapper);

            window.ShowAll();

            Application.Run();
        }
예제 #9
0
        public static void Main(string[] args)
        {
            FigmaApplication.Init(Environment.GetEnvironmentVariable("TOKEN"));
            Application.Init();

            var window = new Window(WindowType.Toplevel);

            window.HeightRequest = window.WidthRequest = 700;

            var scrollWindow = new ScrolledWindow();

            window.Add(scrollWindow);

            var converters = FigmaSharp.AppContext.Current.GetFigmaConverters();
            var storyboard = new FigmaStoryboard(converters);

            var scrollViewWrapper = new ScrollViewWrapper(scrollWindow);

            documentExample = new DocumentExample(scrollViewWrapper, storyboard);

            window.ShowAll();

            Application.Run();
        }
        void Load(string version_id, string page_id)
        {
            Title = string.Format("Opening “{0}”…", Link_ID);

            (Window.ContentViewController as DocumentViewController).ToggleSpinnerState(toggle_on: true);
            RefreshButton.Enabled = false;
            CodeButton.Enabled    = false;

            AppContext.Current.SetAccessToken(Token);
            var converters = AppContext.Current.GetFigmaConverters();

            my_scroll_view = new NSScrollView();
            ScrollViewWrapper wrapper = new ScrollViewWrapper(my_scroll_view);



            new Thread(() => {
                this.InvokeOnMainThread(() =>
                {
                    fileProvider        = new FigmaRemoteFileProvider();
                    var rendererService = new FigmaFileRendererService(fileProvider, converters);

                    rendererService.Start(Link_ID, wrapper);
                    var distributionService = new FigmaViewRendererDistributionService(rendererService);
                    distributionService.Start();

                    fileProvider.ImageLinksProcessed += (s, e) => {
                        this.InvokeOnMainThread(() =>
                        {
                            Console.WriteLine("LOADING DONE");



                            if (fileProvider.Response == null)
                            {
                                (Window.ContentViewController as DocumentViewController).ToggleSpinnerState(toggle_on: false);
                                ShowError();
                                return;
                            }

                            FigmaCanvas canvas;

                            if (!string.IsNullOrEmpty(page_id))
                            {
                                canvas = (FigmaCanvas)fileProvider.Nodes.First(x => x.name == page_id);
                            }
                            else
                            {
                                canvas = (FigmaCanvas)fileProvider.Nodes.OfType <FigmaCanvas>().FirstOrDefault();
                            }

                            wrapper.BackgroundColor = canvas.backgroundColor;
                            wrapper.AdjustToContent();
                            // TODO: scroll to middle


                            var scroll                = (NSScrollView)wrapper.NativeObject;
                            scroll.ScrollerStyle      = NSScrollerStyle.Overlay;
                            scroll.AutohidesScrollers = true;
                            Window.ContentView.AddSubview(scroll);
                            scroll.Frame = Window.ContentView.Bounds;

                            Title        = fileProvider.Response.name;
                            Window.Title = fileProvider.Response.name;

                            UpdateVersionMenu();
                            UpdatePagesPopupButton();

                            RefreshButton.Enabled   = true;
                            CodeButton.Enabled      = true;
                            PagePopUpButton.Enabled = true;

                            (Window.ContentViewController as DocumentViewController).ToggleSpinnerState(toggle_on: false);
                        });
                    };
                });
            }).Start();
        }