예제 #1
0
        protected override NWidget CreateExampleContent()
        {
            m_PathAngle     = 0;
            m_PathPositionX = 200;
            m_PathPositionY = 100;

            m_Stroke = new NStroke(1, NColor.Red);

            // create an image fill using an embedded image
            m_ImageFill = new NImageFill(NResources.Image_Artistic_Plane_png);

            // create a custom texture mapping and assign it to the image fill
            m_MyTextureMapping = new MyTextureMapping();
            m_MyTextureMapping.TextureAngle = 45;
            m_MyTextureMapping.PinPoint     = new NPoint(m_PathPositionX, m_PathPositionY);
            m_ImageFill.TextureMapping      = m_MyTextureMapping;

            m_Canvas = new NCanvas();
            m_Canvas.PreferredSize       = new NSize(800, 600);
            m_Canvas.BackgroundFill      = new NColorFill(new NColor(220, 220, 200));
            m_Canvas.HorizontalPlacement = ENHorizontalPlacement.Center;
            m_Canvas.VerticalPlacement   = ENVerticalPlacement.Center;
            m_Canvas.PrePaint           += new Function <NCanvasPaintEventArgs>(OnCanvasPrePaint);

            NScrollContent scroll = new NScrollContent();

            scroll.Content        = m_Canvas;
            scroll.NoScrollHAlign = ENNoScrollHAlign.Center;
            scroll.NoScrollVAlign = ENNoScrollVAlign.Center;
            return(scroll);
        }
예제 #2
0
        protected override NWidget CreateExampleContent()
        {
            // Create a table layout panel
            NTableFlowPanel table = new NTableFlowPanel();

            table.MaxOrdinal        = 3;
            table.HorizontalSpacing = 10;
            table.VerticalSpacing   = 10;
            table.ColFillMode       = ENStackFillMode.Equal;
            table.ColFitMode        = ENStackFitMode.Equal;
            table.RowFitMode        = ENStackFitMode.Equal;
            table.RowFillMode       = ENStackFillMode.Equal;
            table.UniformWidths     = ENUniformSize.Max;
            table.UniformHeights    = ENUniformSize.Max;

            // Create widgets to demonstrate the different background types
            table.Add(CreateWidget("Solid Background", new NColorFill(NColor.PapayaWhip)));
            table.Add(CreateWidget("Hatch Background", new NHatchFill(ENHatchStyle.Cross, NColor.Red, NColor.PapayaWhip)));
            table.Add(CreateWidget("Gradient Background", new NStockGradientFill(ENGradientStyle.FromCenter, ENGradientVariant.Variant1, NColor.Red, NColor.PapayaWhip)));
            table.Add(CreateWidget("Predefined Advanced Gradient", NAdvancedGradientFill.Create(ENAdvancedGradientColorScheme.Fire1, 5)));

            NAdvancedGradientFill agFill = new NAdvancedGradientFill();

            agFill.BackgroundColor = NColor.Black;
            agFill.Points.Add(new NAdvancedGradientPoint(NColor.Green, NAngle.Zero, 0.5f, 0.5f, 0.2f, ENAdvancedGradientPointShape.Line));
            agFill.Points.Add(new NAdvancedGradientPoint(NColor.Green, new NAngle(90, NUnit.Degree), 0.5f, 0.5f, 0.2f, ENAdvancedGradientPointShape.Line));
            agFill.Points.Add(new NAdvancedGradientPoint(NColor.White, NAngle.Zero, 0.5f, 0.5f, 0.5f, ENAdvancedGradientPointShape.Circle));
            table.Add(CreateWidget("Custom Advanced Gradient", agFill));

            NImageFill imageFill = new NImageFill(NResources.Image__24x24_Shortcuts_png);

            imageFill.TextureMapping = new NAlignTextureMapping();
            table.Add(CreateWidget("Normal Image Background", imageFill));

            imageFill = new NImageFill(NResources.Image__24x24_Shortcuts_png);
            imageFill.TextureMapping = new NAlignTextureMapping();
            table.Add(CreateWidget("Fit Image Background", imageFill));

            imageFill = new NImageFill(NResources.Image__24x24_Shortcuts_png);
            imageFill.TextureMapping = new NStretchTextureMapping();
            table.Add(CreateWidget("Stretched Image Background", imageFill));

            imageFill = new NImageFill(NResources.Image__24x24_Shortcuts_png);
            imageFill.TextureMapping = new NTileTextureMapping();
            table.Add(CreateWidget("Tiled Image Background", imageFill));

            return(table);
        }
예제 #3
0
        protected override NWidget CreateExampleContent()
        {
            // Create a table layout panel
            m_Table = new NTableFlowPanel();
            m_Table.HorizontalPlacement = ENHorizontalPlacement.Left;
            m_Table.VerticalPlacement   = ENVerticalPlacement.Top;
            m_Table.Padding             = new NMargins(30);
            m_Table.HorizontalSpacing   = 30;
            m_Table.VerticalSpacing     = 30;
            m_Table.MaxOrdinal          = 4;

            string[] names = new string[]
            {
                "Align",
                "Fit and Align",
                "Fixed",
                "Stretch",
                "Stretch X, Align Y",
                "Stretch Y, Align X",
                "Tile"
            };

            NTextureMapping[] mappings = new NTextureMapping[]
            {
                new NAlignTextureMapping(ENHorizontalAlignment.Left, ENVerticalAlignment.Top),
                new NFitAndAlignTextureMapping(ENHorizontalAlignment.Center, ENVerticalAlignment.Center),
                new NFixedTextureMapping(NMultiLength.NewPercentage(10), ENHorizontalAlignment.Left, NMultiLength.NewPercentage(10), ENVerticalAlignment.Top),
                new NStretchTextureMapping(),
                new NStretchXAlignYTextureMapping(ENVerticalAlignment.Bottom, ENTileMode.None),
                new NStretchYAlignXTextureMapping(ENHorizontalAlignment.Right, ENTileMode.None),
                new NTileTextureMapping()
            };

            // Add widgets with the proper filling and names to the panel
            for (int i = 0; i < mappings.Length; i++)
            {
                NStackPanel stack = new NStackPanel();
                m_Table.Add(stack);
                stack.Direction = ENHVDirection.TopToBottom;
                stack.FillMode  = ENStackFillMode.First;
                stack.FitMode   = ENStackFitMode.First;

                // Create a widget with the proper filling
                NCanvas canvas = new NCanvas();
                canvas.PreferredSize = new NSize(defaultCanvasWidth, defaultCanvasHeight);
                NImageFill fill = new NImageFill(NResources.Image_Artistic_Plane_png);
                fill.TextureMapping = mappings[i];
                canvas.Tag          = fill;
                stack.Add(canvas);
                canvas.PrePaint += new Function <NCanvasPaintEventArgs>(OnCanvasPrePaint);

                // Create a label with the corresponding name
                NLabel label = new NLabel(names[i]);
                stack.Add(label);
                label.HorizontalPlacement = ENHorizontalPlacement.Center;
            }

            // The table must be scrollable
            NScrollContent scroll = new NScrollContent();

            scroll.Content = m_Table;
            return(scroll);
        }