public static Matrix2 ToMatrix2(this MatrixObject matrix)
 {
     return(new Matrix2(
                matrix.M11, matrix.M12,
                matrix.M21, matrix.M22,
                matrix.OffsetX, matrix.OffsetY));
 }
Example #2
0
 private Matrix ToMatrix(MatrixObject matrix)
 {
     return(new Matrix(
                (float)matrix.M11, (float)matrix.M12,
                (float)matrix.M21, (float)matrix.M22,
                (float)matrix.OffsetX, (float)matrix.OffsetY));
 }
Example #3
0
 private A.Matrix ToMatrix(MatrixObject matrix)
 {
     return(new A.Matrix(
                matrix.M11, matrix.M12,
                matrix.M21, matrix.M22,
                matrix.OffsetX, matrix.OffsetY));
 }
Example #4
0
 private MatrixTransform ToMatrixTransform(MatrixObject matrix)
 {
     return(new MatrixTransform(
                matrix.M11, matrix.M12,
                matrix.M21, matrix.M22,
                matrix.OffsetX, matrix.OffsetY));
 }
Example #5
0
        /// <inheritdoc/>
        public override object PushMatrix(object dc, MatrixObject matrix)
        {
            var _dc = dc as DrawingContext;

            _dc.PushTransform(ToMatrixTransform(matrix));
            return(null);
        }
 private SKMatrix ToSKMatrix(MatrixObject matrix)
 {
     return(MatrixHelper.ToSKMatrix(
                matrix.M11, matrix.M12,
                matrix.M21, matrix.M22,
                matrix.OffsetX, matrix.OffsetY));
 }
Example #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseShape"/> class.
 /// </summary>
 public BaseShape()
     : base()
 {
     State = ShapeState.Create(ShapeStateFlags.Visible | ShapeStateFlags.Printable | ShapeStateFlags.Standalone);
     Transform = MatrixObject.Create();
     Data = Context.Create();
 }
        /// <inheritdoc/>
        public override object PushMatrix(object dc, MatrixObject matrix)
        {
            var _gfx  = dc as XGraphics;
            var state = _gfx.Save();

            _gfx.MultiplyTransform(ToXMatrix(matrix));
            return(state);
        }
Example #9
0
        /// <summary>
        /// Creates a MatrixObject instance with specified name and parent.
        /// </summary>
        /// <param name="name">The name of the MatrixObject instance.</param>
        /// <param name="parent">The parent of the MatrixObject instance.</param>
        /// <returns>The MatrixObject instance.</returns>
        public static MatrixObject CreateMatrixObject(string name, Base parent)
        {
            MatrixObject matrix = new MatrixObject();

            matrix.Name   = name;
            matrix.Parent = parent;
            return(matrix);
        }
        /// <inheritdoc/>
        public override object PushMatrix(object dc, MatrixObject matrix)
        {
            var canvas = dc as SKCanvas;
            int count  = canvas.Save();

            canvas.SetMatrix(MatrixHelper.Multiply(ToSKMatrix(matrix), canvas.TotalMatrix));
            return(count);
        }
        /// <summary>
        /// Creates a MatrixObject instance with specified name and parent.
        /// </summary>
        /// <param name="name">The name of the MatrixObject instance.</param>
        /// <param name="parent">The parent of the MatrixObject instance.</param>
        /// <returns>The MatrixObject instance.</returns>
        public static MatrixObject CreateMatrixObject(string name, Base parent)
        {
            MatrixObject matrix = new MatrixObject();

            matrix.Name = name;
            if ((parent as IParent).CanContain(matrix))
            {
                matrix.Parent = parent;
            }
            return(matrix);
        }
Example #12
0
        public void SetList(List <ButtonMatrix.MatrixObject> _myList, ButtonMatrix.MatrixObject _selectedObj = null)
        {
            myList                 = _myList;
            selectedObj            = _selectedObj;
            idxFirstButtonCurrPage = 0;

            if (myList == null)
            {
                this.Visible = false;
                return;
            }
            autoDeselect = selectedObj == null;
            this.Visible = true;
            RefreshButtonMatrix();
        }
Example #13
0
        public override object EditValue(ITypeDescriptorContext context,
                                         IServiceProvider provider, object Value)
        {
            // this method is called when we click on drop-down arrow
            if (context != null && context.Instance != null)
            {
                MatrixObject c = context.Instance as MatrixObject;
                edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));

                MatrixStyleListBox lb = new MatrixStyleListBox();
                lb.BorderStyle    = BorderStyle.None;
                lb.Styles         = c.StyleSheet;
                lb.Style          = (string)Value;
                lb.StyleSelected += new EventHandler(lb_StyleSelected);
                lb.Height         = (c.StyleSheet.Count + 1) * lb.ItemHeight;
                edSvc.DropDownControl(lb);
                return(lb.Style);
            }
            return(Value);
        }
Example #14
0
        /*
         * Respond to one of the matrix buttons being clicked.
         */
        private void btnMatrix_Click(object sender, EventArgs e)
        {
            if (selectedObj != null)
            {
                // Set the colour of the currently selected button back to normal.
                int idx = displayedObjs.FindIndex(o => o == selectedObj);
                if (idx != -1)
                {
                    SetButtonColor(myButtons[idx], selectedObj.GetNormalColor());
                }
            }

            // Set the colour of the newly selected button to its highlighted colour.
            int idxButtonSelected = myButtons.IndexOf((Button)sender);

            selectedObj = displayedObjs[idxButtonSelected];
            SetButtonColor(myButtons[idxButtonSelected], selectedObj.GetSelectedColor());

            // Raise ButtonSelected event
            var args = new ButtonSelectedEventArgs();

            args.obj = selectedObj;
            OnButtonSelected(args);
        }
Example #15
0
        private void RefreshButtonMatrix()
        {
            int numberOfButtons = 0;

            idxFirstButtonNextPage = 0;
            displayedObjs          = new List <MatrixObject>();

            if (autoDeselect)
            {
                // Effectively de-select current selection
                selectedObj = null;
            }

            for (int i = idxFirstButtonCurrPage; i < myList.Count; i++)
            {
                if (!myList[i].MatchesFilter())
                {
                    continue;
                }

                if (numberOfButtons >= numButtons)
                {
                    idxFirstButtonNextPage = i;
                    break;
                }
                myButtons[numberOfButtons].Text    = myList[i].ToString();
                myButtons[numberOfButtons].Visible = true;

                Color col;
                if (myList[i] == selectedObj)
                {
                    col = myList[i].GetSelectedColor();
                }
                else
                {
                    col = myList[i].GetNormalColor();
                }
                SetButtonColor(myButtons[numberOfButtons], col);

                displayedObjs.Add(myList[i]);
                numberOfButtons++;
            }
            for (int i = numberOfButtons; i < numButtons; i++)
            {
                myButtons[i].Visible = false;
            }

            // Set visibility of Page Up and Down buttons depending on whether there's next/previous pages to display
            btnPageDown.Visible = idxFirstButtonNextPage > 0;
            btnPageUp.Visible   = idxFirstButtonCurrPage > 0;

            var args = new ButtonSelectedEventArgs();

            if (numberOfButtons == 1)
            {
                //Automatically select a button if it's the only one displayed
                selectedObj = displayedObjs[0];
                SetButtonColor(myButtons[0], selectedObj.GetSelectedColor());
                args.obj = selectedObj;
                OnButtonSelected(args);
            }
        }
Example #16
0
        /// <inheritdoc/>
        public override object PushMatrix(object dc, MatrixObject matrix)
        {
            var _dc = dc as AM.DrawingContext;

            return(_dc.PushPreTransform(ToMatrix(matrix)));
        }
Example #17
0
        private void LoadMatrix(XmlNode matrixNode)
        {
            component = ComponentsFactory.CreateMatrixObject(matrixNode.Attributes["Name"].Value, parent);
            MatrixObject matrix = component as MatrixObject;

            matrix.AutoSize = false;

            XmlNodeList nodeList = matrixNode.ChildNodes;

            LoadReportItem(nodeList);
            //XmlNode cornerNode = null;
            XmlNode columnGroupingsNode = null;
            XmlNode rowGroupingsNode    = null;
            XmlNode matrixRowsNode      = null;
            XmlNode matrixColumnsNode   = null;

            foreach (XmlNode node in nodeList)
            {
                //if (node.Name == "Corner")
                //{
                //    cornerNode = node.Clone();
                //}
                /*else */
                if (node.Name == "ColumnGroupings")
                {
                    columnGroupingsNode = node.Clone();
                }
                else if (node.Name == "RowGroupings")
                {
                    rowGroupingsNode = node.Clone();
                }
                else if (node.Name == "MatrixColumns")
                {
                    matrixColumnsNode = node.Clone();
                }
                else if (node.Name == "MatrixRows")
                {
                    matrixRowsNode = node.Clone();
                }
            }

            //LoadCorner(cornerNode);

            List <XmlNode> dynamicColumns = new List <XmlNode>();
            List <XmlNode> staticColumns  = new List <XmlNode>();

            LoadColumnGroupings(columnGroupingsNode, dynamicColumns, staticColumns);

            List <XmlNode> dynamicRows = new List <XmlNode>();
            List <XmlNode> staticRows  = new List <XmlNode>();

            LoadRowGroupings(rowGroupingsNode, dynamicRows, staticRows);

            float columnWidth = LoadMatrixColumns(matrixColumnsNode);
            float rowHeight   = LoadMatrixRows(matrixRowsNode);

            matrix.CreateUniqueNames();
            matrix.BuildTemplate();

            for (int i = 1; i < matrix.Columns.Count; i++)
            {
                matrix.Columns[i].Width = columnWidth;
            }
            for (int i = 1; i < matrix.Rows.Count; i++)
            {
                matrix.Rows[i].Height = rowHeight;
            }

            for (int i = 0; i < matrix.Columns.Count; i++)
            {
                for (int j = 0; j < matrix.Rows.Count; j++)
                {
                    matrix.GetCellData(i, j).Cell.Text = "";
                }
            }

            for (int i = 0; i < dynamicColumns.Count; i++)
            {
                Base          tempParent    = parent;
                ComponentBase tempComponent = component;
                parent = matrix.GetCellData(i + 1, 0).Cell;
                LoadReportItems(dynamicColumns[i]);
                component = tempComponent;
                parent    = tempParent;
            }
            for (int i = 0; i < dynamicRows.Count; i++)
            {
                Base          tempParent    = parent;
                ComponentBase tempComponent = component;
                parent = matrix.GetCellData(0, i + 1).Cell;
                LoadReportItems(dynamicRows[i]);
                component = tempComponent;
                parent    = tempParent;
            }
        }
Example #18
0
 /// <inheritdoc/>
 public override object PushMatrix(object dc, MatrixObject matrix)
 {
     // TODO: Implement push matrix.
     return(null);
 }
Example #19
0
 /// <inheritdoc/>
 public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
 {
     return(MatrixObject.Parse((string)value));
 }