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); }
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); }
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); }