Example #1
0
        ///<summary>
        /// Render the control on a canvas
        ///</summary>
        /// <param name="canvas">Canvas formular</param>
        /// <param name="formular">Formular</param>
        /// <param name="command">Command instance</param>
        /// <param name="relative">Relative position</param>
        /// <param name="dpi">DPI</param>
        public override void Render(Canvas canvas, EPLFormular formular, EPLCommand command, Tuple <double, double> relative, int dpiX, int dpiY)
        {
            EPL.BarcodeCommand cmd = (EPL.BarcodeCommand)command;

            BarcodeBase barcode = null;

            switch (cmd.P4)
            {
            case "3":
                barcode = new RadBarcode39();
                break;

            case "1A":
                barcode = new RadBarcode128A();
                break;

            case "B":
                barcode = new RadBarcode128B();
                break;

            case "C":
                barcode = new RadBarcode128C();
                break;

            case "E80":
            case "E82":
            case "E85":
                barcode = new RadBarcodeEAN8();
                break;

            case "E30":
            case "E32":
            case "E35":
                barcode = new RadBarcodeEAN8();
                break;

            case "UA0":
                barcode = new RadBarcodeUPCA();
                break;

            case "UE0":
                barcode = new RadBarcodeUPCA();
                break;


            case "1":
            default:
                barcode = new RadBarcode128();
                break;
            }

            if (barcode != null)
            {
                barcode.ToolTip = cmd.CommandName;
                string displayText = cmd.Data ?? "--null--";

                barcode.FontFamily = new FontFamily("Consolas");

                if (displayText.StartsWith("\""))
                {
                    displayText = displayText.Remove(0, 1);
                }
                if (displayText.EndsWith("\""))
                {
                    displayText = displayText.Remove(displayText.Length - 1, 1);
                }

                barcode.Text = displayText;

                // Set coordinates
                int _x = 0;
                int _y = 0;

                if (int.TryParse(cmd.P1, out _x) && int.TryParse(cmd.P2, out _y))
                {
                    var coord = UnitHelper.DotToPixel(8, _x, _y, dpiX, dpiY);

                    if (relative != null)
                    {
                        Canvas.SetLeft(barcode, coord.Item1 + relative.Item1);
                        Canvas.SetTop(barcode, coord.Item2 + relative.Item2);
                    }
                    else
                    {
                        Canvas.SetLeft(barcode, coord.Item1);
                        Canvas.SetTop(barcode, coord.Item2);
                    }
                }

                // Set height, default will be 70 dots
                double bHeight = 70;
                double.TryParse(cmd.P7, out bHeight);
                barcode.Height = UnitHelper.DotToPixel(8, bHeight, dpiY) + 5;

                switch (cmd.P3)
                {
                case "1":
                    barcode.LayoutTransform = new RotateTransform(90);
                    break;

                case "2":
                    barcode.LayoutTransform = new RotateTransform(180);
                    break;

                case "3":
                    barcode.LayoutTransform = new RotateTransform(270);
                    break;
                }

                //block.FontSize = PointsToPixels(12);

                barcode.ShowText = true;

                canvas.Children.Add(barcode);

                barcode.Background = new SolidColorBrush(Colors.WhiteSmoke);

                canvas.UpdateLayout();
                barcode.UpdateLayout();

                int narrowBarWide = 1;
                if (int.TryParse(cmd.P5, out narrowBarWide))
                {
                    barcode.Width = barcode.ActualWidth * narrowBarWide;
                }

                // Must be under the width calculation, because otherwise it did not work...
                if (cmd.P8 != "B")
                {
                    barcode.ShowText = false;
                }

                barcode.ShowChecksum = false;
            }
        }
Example #2
0
 ///<summary>
 /// Render the control on a canvas
 ///</summary>
 /// <param name="canvas">Canvas formular</param>
 /// <param name="formular">Formular</param>
 /// <param name="command">Command instance</param>
 /// <param name="fixPoint">Relative position</param>
 /// <param name="dpi">DPI</param>
 public abstract void Render(Canvas canvas, EPLFormular formular, EPLCommand command, Tuple <double, double> fixPoint, int dpiX, int dpiY);
Example #3
0
        ///<summary>
        /// Render the control on a canvas
        ///</summary>
        /// <param name="canvas">Canvas formular</param>
        /// <param name="formular">Formular</param>
        /// <param name="command">Command instance</param>
        /// <param name="relative">Relative position</param>
        /// <param name="dpi">DPI</param>
        public override void Render(Canvas canvas, EPLFormular formular, EPLCommand command, Tuple <double, double> relative, int dpiX, int dpiY)
        {
            EPL.TextCommand cmd = (EPL.TextCommand)command;

            TextBlock block = new TextBlock();

            block.FontFamily = new FontFamily("Consolas");
            block.ToolTip    = cmd.CommandName;
            string displayText = cmd.Data ?? "--null--";

            if (displayText.StartsWith("\""))
            {
                displayText = displayText.Remove(0, 1);
            }
            if (displayText.EndsWith("\""))
            {
                displayText = displayText.Remove(displayText.Length - 1, 1);
            }

            block.Text = displayText;

            // Set coordinates
            int _x = 0;
            int _y = 0;

            if (int.TryParse(cmd.P1, out _x) && int.TryParse(cmd.P2, out _y))
            {
                var coord = UnitHelper.DotToPixel(8, _x, _y, dpiX, dpiY);

                if (relative != null)
                {
                    Canvas.SetLeft(block, coord.Item1 + relative.Item1);
                    Canvas.SetTop(block, coord.Item2 + relative.Item2);
                }
                else
                {
                    Canvas.SetLeft(block, coord.Item1);
                    Canvas.SetTop(block, coord.Item2);
                }
            }

            switch (cmd.P3)
            {
            case "1":
                block.LayoutTransform = new RotateTransform(90);
                break;

            case "2":
                block.LayoutTransform = new RotateTransform(180);
                break;

            case "3":
                block.LayoutTransform = new RotateTransform(270);
                break;
            }

            //block.FontSize = PointsToPixels(12);

            if (cmd.P7 == "R")
            {
                block.Foreground = new SolidColorBrush(Colors.White);
                block.Background = new SolidColorBrush(Colors.Black);
            }

            canvas.Children.Add(block);
        }