Example #1
0
        public override void UpdateLayout()
        {
            //while (!layoutIsValid)
            //{
            //if (!(sizeIsValid && positionIsValid))
            base.UpdateLayout();

            //if (!base.layoutIsValid)
            //    return;

            currentXForWidget = ClientRectangle.X;
            currentYForWidget = ClientRectangle.Y;

            highestWidget = 0;
            largestWidget = 0;

            Rectangle contentBounds = Rectangle.Zero;

            GraphicObject[] widgets = new GraphicObject[Children.Count];
            Children.CopyTo(widgets);
            foreach (GraphicObject w in widgets)
            {
                if (w.renderBounds.Width > largestWidget)
                    largestWidget = w.renderBounds.Width;
                if (w.renderBounds.Height > highestWidget)
                    highestWidget = w.renderBounds.Height;

                if (!enoughtSpaceForWidget(w))
                    advance(w);

                if (enoughtSpaceForWidget(w))
                {
                    w.renderBounds.X = currentXForWidget;
                    w.renderBounds.Y = currentYForWidget;

                    w.positionIsValid = true;

                    contentBounds += w.renderBounds;

                    advance(w);
                }
                else
                    break;
            }

            contentBounds.Width += BorderWidth + Margin;
            contentBounds.Height += BorderWidth + Margin;

            if (SizeToContent)
                renderBounds.Size = contentBounds.Size;
            else if (VerticalScrolling)
                renderBounds.Size = new Size(renderBounds.Size.Width, contentBounds.Size.Height);
            else if (HorizontalScrolling)
                renderBounds.Size = new Size(contentBounds.Size.Width, renderBounds.Size.Height);

            if (layoutIsValid)
                registerForRedraw();
        }
Example #2
0
        void Dv_SelectedItemChanged(object sender, SelectionChangeEventArgs e)
        {
            FileSystemInfo fi = e.NewValue as FileSystemInfo;

            if (fi == null)
            {
                return;
            }
            lock (this.ifaceControl [0].CrowInterface.UpdateMutex) {
                GraphicObject g = this.ifaceControl [0].CrowInterface.Load(fi.FullName);
                crowContainer.SetChild(g);
                g.DataSource = this;
            }

            string source = "";

            using (Stream s = new FileStream(fi.FullName, FileMode.Open)) {
                using (StreamReader sr = new StreamReader(s)) {
                    source = sr.ReadToEnd();
                }
            }
            NotifyValueChanged("source", source);
        }
        public override void Intersection(Collision c, GraphicObject g)
        {
            base.Intersection(c, g);

            switch (g.OT)
            {
            case ObjectType.OT_BlockQuestion:
            {
                int a = 1;
            } break;

            case ObjectType.OT_Goomba:
            {
                DirX *= -1;
                OnWalk(null, null);
                ((MonsterGoomba)g).DirX *= -1;
                ((MonsterGoomba)g).OnWalk(null, null);
            } break;

            case ObjectType.OT_Mario:
            {
                Mario m = (Mario)g;
                if (c.Dir != CollisionDirection.CD_Down)
                {
                    if (!m.Blinking)
                    {
                        if (m.Type == Mario.MarioType.MT_Big || m.Type == Mario.MarioType.MT_Fire)
                        {
                            m.Type = Mario.MarioType.MT_Small;
                            m.StartBlinking();
                            m.SetMarioProperties();
                        }
                    }
                }
            } break;
            }
        }
 public void ChangeZoomMWidtht(double newZoom, float newMWidth)
 {
     checked
     {
         try
         {
             IEnumerator enumerator = this.m_GObjs.GetEnumerator();
             while (enumerator.MoveNext())
             {
                 GraphicObject graphicObject = (GraphicObject)enumerator.Current;
                 PointF[]      points        = graphicObject.GetPoints();
                 float         num           = (float)(this.m_Zoom / newZoom);
                 num = Conversions.ToSingle(Operators.MultiplyObject(num, Interaction.IIf(this.m_MWidth > 0f, newMWidth / this.m_MWidth, 1)));
                 Matrix matrix = new Matrix();
                 matrix.Reset();
                 matrix.Scale(num, num, MatrixOrder.Append);
                 matrix.TransformPoints(points);
                 int arg_8C_0   = 0;
                 int upperBound = points.GetUpperBound(0);
                 for (int i = arg_8C_0; i <= upperBound; i++)
                 {
                     graphicObject.MoveNodeTo(i, points[i]);
                 }
             }
         }
         finally
         {
             IEnumerator enumerator;
             if (enumerator is IDisposable)
             {
                 (enumerator as IDisposable).Dispose();
             }
         }
         this.m_Zoom   = newZoom;
         this.m_MWidth = newMWidth;
     }
 }
Example #5
0
        public void ToString_CreateCompositeObjects_ValidateDepth()
        {
            var objects = new GraphicObject();

            objects.Children.Add(new Circle()
            {
                Color = "Blue"
            });
            objects.Children.Add(new Square()
            {
                Color = "Red"
            });

            var group = new GraphicObject();

            group.Children.Add(new Circle()
            {
                Color = "Black"
            });
            group.Children.Add(new Square()
            {
                Color = "Black"
            });

            objects.AddChild(group);
            var result = objects.ToString();

            var expectedOutput = @"Group
*Blue Circle
*Red Square
*Group
**Black Circle
**Black Square
";

            Assert.That(result, Is.EqualTo(expectedOutput));
        }
Example #6
0
        public static void Run()
        {
            var drawing = new GraphicObject {
                Name = "My Drawing"
            };

            drawing.Children.Add(new Square {
                Color = "Red"
            });
            drawing.Children.Add(new Circle {
                Color = "Yellow"
            });

            var group = new GraphicObject();

            group.Children.Add(new Circle {
                Color = "Blue"
            });
            group.Children.Add(new Square {
                Color = "Blue"
            });
            drawing.Children.Add(group);

            Console.WriteLine(drawing);

            var neuron1 = new Neuron();
            var neuron2 = new Neuron();

            neuron1.ConnectTo(neuron2); // 1

            var layer1 = new NeuronLayer();
            var layer2 = new NeuronLayer();

            neuron1.ConnectTo(layer1);
            layer1.ConnectTo(layer2);
        }
Example #7
0
        public static Zone LoadGameInventory(int num)
        {
            List <GraphicObject> bus = new List <GraphicObject>();
            GraphicObject        bu;

            //inv slots
            for (int i = 0; i < num; i++)
            {
                bu          = new GraphicObject(new GameDetails(i * _size, 600 - _size, _size, _size));
                bu.Priority = 1;
                bu.Name     = "game_inv|invslot";
                bus.Add(bu);
            }
            //holding slot
            GraphicObject bu1 = new GraphicObject(new GameDetails(800 - _size, 600 - _size, _size, _size));

            bu1.Priority = 1;
            bu1.Name     = "game_inv|invslot";
            bus.Add(bu1);
            Zone zn = new Zone(new GameDetails(0, 600 - _size, _size * num, _size), bus, 0, 5);

            zn.Priority = 2;
            return(zn);
        }
Example #8
0
        public override void Intersection(Collision c, GraphicObject g)
        {
            base.Intersection(c, g);

            switch (g.OT)
            {
            case ObjectType.OT_Mario:
            {
                // Handle collision with Mario
                if (Move != PiranaMove.PM_None) // Only if the pirana is out of its pipe
                {
                    if (c.Dir != CollisionDirection.CD_Down)
                    {
                        Mario m = (Mario)g;
                        if (!m.Blinking)
                        {
                            m.MarioHandleCollision();
                        }
                    }
                }
                break;
            }
            }
        }
        public void ChangeRoot(AxMap pMap, double newGocX, double newGocY)
        {
            float num = (float)(pMap.Zoom / this.m_Zoom);

            num = Conversions.ToSingle(Operators.MultiplyObject(num, Interaction.IIf(this.m_MWidth > 0f, this.m_MWidth / pMap.MapScreenWidth, 1)));
            float num2;
            float num3;

            pMap.ConvertCoord(ref num2, ref num3, ref this.m_GocX, ref this.m_GocY, ConversionConstants.miMapToScreen);
            float num4;
            float num5;

            pMap.ConvertCoord(ref num4, ref num5, ref newGocX, ref newGocY, ConversionConstants.miMapToScreen);
            this.m_GocX = newGocX;
            this.m_GocY = newGocY;
            PointF toPt   = new PointF(num2 * num, num3 * num);
            PointF fromPt = new PointF(num4 * num, num5 * num);

            try
            {
                IEnumerator enumerator = this.m_GObjs.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    GraphicObject graphicObject = (GraphicObject)enumerator.Current;
                    graphicObject.Move(fromPt, toPt);
                }
            }
            finally
            {
                IEnumerator enumerator;
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
        }
        public override void Intersection(Collision c, GraphicObject g)
        {
            base.Intersection(c, g);
            switch (g.OT)
            {
            case ObjectType.OT_SolidBlock:
                goto case ObjectType.OT_PipeUp;

            case ObjectType.OT_BlockQuestion:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_Brick:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_Grass:
            {
                StartFireBall();
            } break;

            case ObjectType.OT_PipeUp:
            {
                Started = false;
                Visible = false;
            } break;

            case ObjectType.OT_Goomba:
            {
                if (Type == FireBallType.FT_Mario)
                {
                    ((MonsterGoomba)g).GoombaFallDie();

                    Started = false;
                    Visible = false;
                }
            } break;

            case ObjectType.OT_Koopa:
            {
                if (Type == FireBallType.FT_Mario)
                {
                    ((MonsterKoopa)g).SetKoopaState(MonsterKoopa.KoopaState.KS_Shield);

                    Started = false;
                    Visible = false;
                }
            } break;

            case ObjectType.OT_Pirana:
            {
                if (Type == FireBallType.FT_Mario &&
                    ((MonsterPiranah)g).Move != MonsterPiranah.PiranaMove.PM_None)            // Only kill pirana if it's out of its pipe
                {
                    ((MonsterPiranah)g).Visible = false;
                    ((MonsterPiranah)g).Live    = false;
                }
            } break;

            // Handle fireball hitting Mario
            case ObjectType.OT_Mario:
            {
                if (Type != FireBallType.FT_Mario)       // Make sure it isn't Mario's fireball
                {
                    Mario m = (Mario)g;
                    if (!m.Blinking)
                    {
                        if (m.Type == Mario.MarioType.MT_Big || m.Type == Mario.MarioType.MT_Fire)
                        {
                            m.Type = Mario.MarioType.MT_Small;
                            m.StartBlinking();
                            m.SetMarioProperties();
                        }
                    }
                }
            } break;
            }
        }
Example #11
0
        public override void Intersection(Collision c, GraphicObject g)
        {
            base.Intersection(c, g);

            switch (g.OT)
            {
            case ObjectType.OT_Brick:
            {
                if (State == KoopaState.KS_ShieldMoving)
                {
                    if (c.Dir == CollisionDirection.CD_Left || c.Dir == CollisionDirection.CD_Right)
                    {
                        ((BlockBrick)g).BreakBrick();
                    }
                }
            } break;

            case ObjectType.OT_Goomba:
            {
                if (State == KoopaState.KS_ShieldMoving)
                {
                    ((MonsterGoomba)g).GoombaFallDie();
                }
                if (State == KoopaState.KS_Walking)
                {
                    ((MonsterGoomba)g).DirX *= -1;
                    ((MonsterGoomba)g).newx += 5 * ((MonsterGoomba)g).DirX;

                    ((MonsterGoomba)g).OnWalk(null, null);
                    DirX *= -1;
                    OnWalk(null, null);
                }
                if (State == KoopaState.KS_Shield)
                {
                    ((MonsterGoomba)g).DirX *= -1;
                    ((MonsterGoomba)g).newx += 5 * ((MonsterGoomba)g).DirX;
                    ((MonsterGoomba)g).OnWalk(null, null);
                }
            } break;

            case ObjectType.OT_Mario:
            {
                if (State == KoopaState.KS_Shield && ReturningTime >= 3)
                {
                    if (c.Dir == CollisionDirection.CD_Left)
                    {
                        DirX = -1;
                    }

                    if (c.Dir == CollisionDirection.CD_Right)
                    {
                        DirX = 1;
                    }

                    SetKoopaState(KoopaState.KS_ShieldMoving);
                }

                // Size-down mario when colliding with a koopa
                if (State != KoopaState.KS_Shield)         // but not in shield state
                {
                    if (!(State == KoopaState.KS_ShieldMoving &&    // Or that he's just set in motion
                          (DirX == -1 && c.Dir == CollisionDirection.CD_Left) || (DirX == 1 && c.Dir == CollisionDirection.CD_Right)))
                    {
                        Mario m = (Mario)g;
                        if (c.Dir != CollisionDirection.CD_Down)
                        {
                            if (!m.Blinking)
                            {
                                if (m.Type == Mario.MarioType.MT_Big || m.Type == Mario.MarioType.MT_Fire)
                                {
                                    m.Type = Mario.MarioType.MT_Small;
                                    m.StartBlinking();
                                    m.SetMarioProperties();
                                }
                            }
                        }
                    }
                }
                break;
            }
            }
        }
Example #12
0
        public override void UpdateLayout()
        {
            //while (!layoutIsValid)
            //{
            //if (!(sizeIsValid && positionIsValid))
            base.UpdateLayout();

            //if (!base.layoutIsValid)
            //    return;

            currentXForWidget = ClientRectangle.X;
            currentYForWidget = ClientRectangle.Y;

            highestWidget = 0;
            largestWidget = 0;

            Rectangle contentBounds = Rectangle.Zero;

            GraphicObject[] widgets = new GraphicObject[Children.Count];
            Children.CopyTo(widgets);
            foreach (GraphicObject w in widgets)
            {
                if (w.renderBounds.Width > largestWidget)
                {
                    largestWidget = w.renderBounds.Width;
                }
                if (w.renderBounds.Height > highestWidget)
                {
                    highestWidget = w.renderBounds.Height;
                }

                if (!enoughtSpaceForWidget(w))
                {
                    advance(w);
                }

                if (enoughtSpaceForWidget(w))
                {
                    w.renderBounds.X = currentXForWidget;
                    w.renderBounds.Y = currentYForWidget;

                    w.positionIsValid = true;

                    contentBounds += w.renderBounds;

                    advance(w);
                }
                else
                {
                    break;
                }
            }

            contentBounds.Width  += BorderWidth + Margin;
            contentBounds.Height += BorderWidth + Margin;

            if (SizeToContent)
            {
                renderBounds.Size = contentBounds.Size;
            }
            else if (VerticalScrolling)
            {
                renderBounds.Size = new Size(renderBounds.Size.Width, contentBounds.Size.Height);
            }
            else if (HorizontalScrolling)
            {
                renderBounds.Size = new Size(contentBounds.Size.Width, renderBounds.Size.Height);
            }

            if (layoutIsValid)
            {
                registerForRedraw();
            }
        }
Example #13
0
        public override void Intersection(Collision c, GraphicObject g)
        {
            base.Intersection(c, g);
            switch (g.OT)
            {
            case ObjectType.OT_Exit:
            {
                if (EnterPressed)
                {
                    EnterPressed = false;
                    Moving       = false;
                    MoveState    = MarioMoveState.J_None;
                    //OnLevelCompleted?.Invoke();
                    //StartJump(true, 0);
                    System.Windows.Forms.DialogResult dialog = System.Windows.Forms.MessageBox.Show("You won");
                    if (dialog == System.Windows.Forms.DialogResult.OK)
                    {
                        System.Windows.Forms.Application.Exit();
                    }
                    StopMove();
                }
                break;
            }

            case ObjectType.OT_Goomba:
            {
                if (c.Dir == CollisionDirection.CD_Up)
                {
                    if (((Monster)g).FallDie == false)        // Jump On Goomba with Up Presses
                    {
                        if (UpPressed)
                        {
                            StartJump(true, 0);
                        }
                        else
                        {
                            StartJump(true, -20);
                        }

                        ((Monster)g).GoombaDie();
                    }
                }

                if (c.Dir == CollisionDirection.CD_Left)
                {
                    Globals.setDeathPositionX(x);
                    Globals.deathPositionY = y;
                    //System.Windows.Forms.MessageBox.Show("X : " + Globals.deathPositionX + " Y : " + Globals.deathPositionY);
                }
                break;
            }

            case ObjectType.OT_MovingBlock:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_SolidBlock:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_PipeUp:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_BlockQuestion:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_BlockQuestionHidden:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_Brick:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_Grass:
            {
                SetDirections();

                if (c.Dir == CollisionDirection.CD_TopLeft)
                {
                    if (g.OT == ObjectType.OT_Brick)
                    {
                        //if (MoveState == MarioMoveState.J_Right)
                        //    x -= (int)XAdd;
                        //if (MoveState == MarioMoveState.J_Left)
                        //    x += (int)XAdd;

                        //Intersection_None();
                    }
                }
                if (c.Dir == CollisionDirection.CD_Up)
                {
                    if (g.OT == ObjectType.OT_MovingBlock)
                    {
                        this.y = g.newy - this.height;
                    }
                    else
                    {
                        if (State != MarioJumpState.J_None)
                        {
                            this.y = g.newy - this.height;
                        }
                    }
                    if (State != MarioJumpState.J_None)
                    {
                        State = MarioJumpState.J_None;
                    }
                    SetDirections();
                }

                if (c.Dir == CollisionDirection.CD_Left)
                {
                    this.x = g.newx - width;
                    //if (g.OT == ObjectType.OT_SolidBlock)
                    //    Intersection_None();
                    if (g.OT == ObjectType.OT_Brick)
                    {
                        //if (MoveState == MarioMoveState.J_Right)
                        //    x -= (int)XAdd;
                        //if (MoveState == MarioMoveState.J_Left)
                        //    x += (int)XAdd;
                        StartJump(true, 0);
                        this.x = g.newx - width;
                    }
                }

                if (c.Dir == CollisionDirection.CD_Down)
                {
                    if (State == MarioJumpState.J_Up)
                    {
                        State         = MarioJumpState.JDown;
                        StartPosition = y;
                        TimeCount     = 0;
                        StartVelocity = 0;
                        if (g.OT == ObjectType.OT_Brick)
                        {
                            if (Type == MarioType.MT_Big || Type == MarioType.MT_Fire)
                            {
                                ((Block)g).BreakBrick();
                            }
                            else
                            {
                            }
                        }
                    }
                }
                if (c.Dir == CollisionDirection.CD_Right)
                {
                    this.x = g.newx + g.width;
                    //if (g.OT == ObjectType.OT_SolidBlock)
                    //    Intersection_None();
                    //XAdd = 0;
                }
                break;
            }
            }
        }
Example #14
0
		protected override void OnLoad (EventArgs e)
		{
			base.OnLoad (e);
			g = LoadInterface("Interfaces/test0.goml");
			l = g.FindByName ("labCpt") as Label;
		}
Example #15
0
        private void khs2xml(AxMap pMap, ref XmlTextWriter wr)
        {
            wr.WriteStartElement("KyHieus");
            wr.WriteAttributeString("CX", pMap.CenterX.ToString("#.0000"));
            wr.WriteAttributeString("CY", pMap.CenterY.ToString("#.0000"));
            wr.WriteAttributeString("Zoom", pMap.Zoom.ToString());
            checked
            {
                try
                {
                    IEnumerator enumerator = this.List.GetEnumerator();
                    while (enumerator.MoveNext())
                    {
                        CSymbol mKH = (CSymbol)enumerator.Current;
                        wr.WriteStartElement("KyHieu");
                        bool flag = mKH.Description.Length > 0;
                        if (flag)
                        {
                            wr.WriteAttributeString("Desc", mKH.Description);
                        }
                        flag = mKH.Blinking;
                        if (flag)
                        {
                            wr.WriteAttributeString("Blink", mKH.Blinking.ToString());
                        }
                        wr.WriteAttributeString("Zoom", mKH.Zoom.ToString());
                        wr.WriteAttributeString("MWi", mKH.MWidth.ToString());
                        wr.WriteAttributeString("GocX", mKH.GocX.ToString("#.0000"));
                        wr.WriteAttributeString("GocY", mKH.GocY.ToString("#.0000"));
                        try
                        {
                            IEnumerator enumerator2 = mKH.GObjs.GetEnumerator();
                            while (enumerator2.MoveNext())
                            {
                                GraphicObject mPart = (GraphicObject)enumerator2.Current;
                                wr.WriteStartElement("Part");
                                OBJECTTYPE mType = mPart.GetObjType();
                                wr.WriteAttributeString("Type", mType.ToString());
                                flag = (mType == OBJECTTYPE.Text);
                                if (flag)
                                {
                                    TextGraphic mTextObj = (TextGraphic)mPart;
                                    wr.WriteAttributeString("Text", mTextObj.Text);
                                    wr.WriteAttributeString("FName", mTextObj.Font.Name);
                                    wr.WriteAttributeString("FSize", mTextObj.Font.Size.ToString());
                                    wr.WriteAttributeString("FStyle", mTextObj.Font.Style.ToString());
                                    wr.WriteAttributeString("FColor", Conversions.ToString(mTextObj.Color.ToArgb()));
                                    wr.WriteStartElement("Pos");
                                    wr.WriteAttributeString("X", mTextObj.X.ToString());
                                    wr.WriteAttributeString("Y", mTextObj.Y.ToString());
                                    wr.WriteAttributeString("A", mTextObj.Rotation.ToString());
                                    wr.WriteEndElement();
                                }
                                else
                                {
                                    flag = (mType == OBJECTTYPE.Table);
                                    if (flag)
                                    {
                                        TableGraphic mTableObj = (TableGraphic)mPart;
                                        wr.WriteStartElement("TBL");
                                        wr.WriteAttributeString("X", mTableObj.X.ToString());
                                        wr.WriteAttributeString("Y", mTableObj.Y.ToString());
                                        wr.WriteAttributeString("W", mTableObj.Width.ToString());
                                        wr.WriteAttributeString("H", mTableObj.Height.ToString());
                                        wr.WriteAttributeString("A", mTableObj.Rotation.ToString());
                                        wr.WriteAttributeString("Cols", mTableObj.ColsNo.ToString());
                                        wr.WriteAttributeString("Rows", mTableObj.RowsNo.ToString());
                                        wr.WriteAttributeString("BColor", Conversions.ToString(mTableObj.BorderColor.ToArgb()));
                                        wr.WriteAttributeString("BWidth", mTableObj.BorderWidth.ToString());
                                        wr.WriteAttributeString("LColor", Conversions.ToString(mTableObj.LineColor.ToArgb()));
                                        wr.WriteAttributeString("LWidth", mTableObj.LineWidth.ToString());
                                        wr.WriteAttributeString("FiColor", Conversions.ToString(mTableObj.FiColor.ToArgb()));
                                        string str       = Conversions.ToString(mTableObj.AWidth[0]);
                                        int    arg_47A_0 = 1;
                                        int    num       = mTableObj.ColsNo - 1;
                                        int    i         = arg_47A_0;
                                        while (true)
                                        {
                                            int arg_4A4_0 = i;
                                            int num2      = num;
                                            if (arg_4A4_0 > num2)
                                            {
                                                break;
                                            }
                                            str = str + "|" + Conversions.ToString(mTableObj.AWidth[i]);
                                            i++;
                                        }
                                        wr.WriteAttributeString("AWS", str);
                                        str = Conversions.ToString(mTableObj.AHeight[0]);
                                        int arg_4CF_0 = 1;
                                        int num3      = mTableObj.RowsNo - 1;
                                        i = arg_4CF_0;
                                        while (true)
                                        {
                                            int arg_4F9_0 = i;
                                            int num2      = num3;
                                            if (arg_4F9_0 > num2)
                                            {
                                                break;
                                            }
                                            str = str + "|" + Conversions.ToString(mTableObj.AHeight[i]);
                                            i++;
                                        }
                                        wr.WriteAttributeString("AHS", str);
                                        i = 0;
                                        try
                                        {
                                            IEnumerator enumerator3 = mTableObj.Cells.GetEnumerator();
                                            while (enumerator3.MoveNext())
                                            {
                                                CCell mCell = (CCell)enumerator3.Current;
                                                i++;
                                                wr.WriteStartElement("Cell");
                                                wr.WriteAttributeString("iR", mCell.iRow.ToString());
                                                wr.WriteAttributeString("iC", mCell.iCol.ToString());
                                                wr.WriteAttributeString("RNo", mCell.RowsNo.ToString());
                                                wr.WriteAttributeString("CNo", mCell.ColsNo.ToString());
                                                wr.WriteAttributeString("Text", mCell.Text);
                                                wr.WriteAttributeString("FName", mCell.Font.Name);
                                                wr.WriteAttributeString("FSize", mCell.Font.Size.ToString());
                                                wr.WriteAttributeString("FStyle", mCell.Font.Style.ToString());
                                                wr.WriteAttributeString("Color", Conversions.ToString(mCell.Color.ToArgb()));
                                                wr.WriteElementString("i", i.ToString());
                                                wr.WriteEndElement();
                                            }
                                        }
                                        finally
                                        {
                                            IEnumerator enumerator3;
                                            flag = (enumerator3 is IDisposable);
                                            if (flag)
                                            {
                                                (enumerator3 as IDisposable).Dispose();
                                            }
                                        }
                                        wr.WriteEndElement();
                                    }
                                    else
                                    {
                                        flag = (mType == OBJECTTYPE.EmbeddedImage);
                                        if (flag)
                                        {
                                            EmbeddedImageGraphic mImageObj = (EmbeddedImageGraphic)mPart;
                                            wr.WriteAttributeString("ITYPE", mImageObj.ImageType);
                                            wr.WriteAttributeString("IMAGEW", mImageObj.Width.ToString());
                                            wr.WriteAttributeString("IMAGEH", mImageObj.Height.ToString());
                                            string strImage  = "";
                                            string imageType = mImageObj.ImageType;
                                            if (Operators.CompareString(imageType, "wmf", false) == 0 || Operators.CompareString(imageType, "emf", false) == 0)
                                            {
                                                goto IL_74D;
                                            }
                                            if (Operators.CompareString(imageType, "kro", false) == 0)
                                            {
                                                goto IL_74D;
                                            }
                                            bool arg_74E_0 = false;
IL_74E:
                                            flag = arg_74E_0;
                                            if (flag)
                                            {
                                                try
                                                {
                                                    object mFileName = "tmp2.kro";
                                                    Image  mMetaFile = mImageObj.Image;
                                                    mMetaFile.Save(Conversions.ToString(mFileName));
                                                    byte[] arrImageByte = this.GetarrImage(Conversions.ToString(mFileName));
                                                    strImage = Convert.ToBase64String(arrImageByte);
                                                }
                                                catch (Exception expr_78D)
                                                {
                                                    ProjectData.SetProjectError(expr_78D);
                                                    Exception ex = expr_78D;
                                                    Interaction.MsgBox("kro sai: " + ex.Message, MsgBoxStyle.OkOnly, null);
                                                    ProjectData.ClearProjectError();
                                                }
                                            }
                                            else
                                            {
                                                MemoryStream memStream = new MemoryStream();
                                                mImageObj.Image.Save(memStream, ImageFormat.Bmp);
                                                strImage = Convert.ToBase64String(memStream.ToArray());
                                            }
                                            wr.WriteAttributeString("IMAGE", strImage);
                                            wr.WriteStartElement("Pos");
                                            wr.WriteAttributeString("X", mImageObj.X.ToString());
                                            wr.WriteAttributeString("Y", mImageObj.Y.ToString());
                                            wr.WriteAttributeString("A", mImageObj.Rotation.ToString());
                                            wr.WriteEndElement();
                                            goto IL_CDF;
IL_74D:
                                            arg_74E_0 = true;
                                            goto IL_74E;
                                        }
                                        ShapeGraphic mShapeObj = (ShapeGraphic)mPart;
                                        wr.WriteAttributeString("Color", Conversions.ToString(mShapeObj.LineColor.ToArgb()));
                                        wr.WriteAttributeString("Width", mShapeObj.LineWidth.ToString());
                                        flag = (mShapeObj.LineStyle > 0);
                                        if (flag)
                                        {
                                            wr.WriteAttributeString("Style", mShapeObj.LineStyle.ToString());
                                            wr.WriteAttributeString("SWidth", mShapeObj.StyleWidth.ToString());
                                        }
                                        flag = (mShapeObj.Line2Width > 0f);
                                        if (flag)
                                        {
                                            wr.WriteAttributeString("Color2", Conversions.ToString(mShapeObj.Line2Color.ToArgb()));
                                            wr.WriteAttributeString("Width2", mShapeObj.Line2Width.ToString());
                                        }
                                        flag = (mShapeObj.DValues.Length > 6);
                                        if (flag)
                                        {
                                            wr.WriteAttributeString("DV", mShapeObj.DValues);
                                        }
                                        flag = mShapeObj.Fill;
                                        if (flag)
                                        {
                                            wr.WriteAttributeString("Fill", mShapeObj.Fill.ToString());
                                            wr.WriteAttributeString("FColor", Conversions.ToString(mShapeObj.FillColor.ToArgb()));
                                            wr.WriteAttributeString("HColor", Conversions.ToString(mShapeObj.HatchColor.ToArgb()));
                                            wr.WriteAttributeString("HStyle", mShapeObj.HatchStyle.ToString());
                                        }
                                        flag = (mType == OBJECTTYPE.Ellipse);
                                        if (flag)
                                        {
                                            EllipseGraphic mEllipseObj = (EllipseGraphic)mShapeObj;
                                            wr.WriteStartElement("Rect");
                                            wr.WriteAttributeString("X", mEllipseObj.X.ToString());
                                            wr.WriteAttributeString("Y", mEllipseObj.Y.ToString());
                                            wr.WriteAttributeString("W", mEllipseObj.Width.ToString());
                                            wr.WriteAttributeString("H", mEllipseObj.Height.ToString());
                                            wr.WriteAttributeString("A", mEllipseObj.Rotation.ToString());
                                            wr.WriteEndElement();
                                        }
                                        else
                                        {
                                            flag = (mType == OBJECTTYPE.Pie);
                                            if (flag)
                                            {
                                                PieGraphic mPieObj = (PieGraphic)mShapeObj;
                                                wr.WriteStartElement("Pie");
                                                wr.WriteAttributeString("X", mPieObj.X.ToString());
                                                wr.WriteAttributeString("Y", mPieObj.Y.ToString());
                                                wr.WriteAttributeString("W", mPieObj.Width.ToString());
                                                wr.WriteAttributeString("H", mPieObj.Height.ToString());
                                                wr.WriteAttributeString("ST", mPieObj.StartAngle.ToString());
                                                wr.WriteAttributeString("SW", mPieObj.SweepAngle.ToString());
                                                flag = mPieObj.IsArc;
                                                if (flag)
                                                {
                                                    wr.WriteAttributeString("ARC", mPieObj.IsArc.ToString());
                                                }
                                                wr.WriteAttributeString("A", mPieObj.Rotation.ToString());
                                                wr.WriteEndElement();
                                            }
                                            else
                                            {
                                                int i = 0;
                                                NodesShapeGraphic mNodesShapeObj = (NodesShapeGraphic)mShapeObj;
                                                try
                                                {
                                                    IEnumerator enumerator4 = mNodesShapeObj.Nodes.GetEnumerator();
                                                    while (enumerator4.MoveNext())
                                                    {
                                                        CNODE mNode = (CNODE)enumerator4.Current;
                                                        i++;
                                                        wr.WriteStartElement("Node");
                                                        wr.WriteAttributeString("X", mNode.Pt.X.ToString());
                                                        wr.WriteAttributeString("Y", mNode.Pt.Y.ToString());
                                                        flag = mNode.IsControl;
                                                        if (flag)
                                                        {
                                                            wr.WriteAttributeString("Type", mNode.IsControl.ToString());
                                                        }
                                                        wr.WriteElementString("i", i.ToString());
                                                        wr.WriteEndElement();
                                                    }
                                                }
                                                finally
                                                {
                                                    IEnumerator enumerator4;
                                                    flag = (enumerator4 is IDisposable);
                                                    if (flag)
                                                    {
                                                        (enumerator4 as IDisposable).Dispose();
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
IL_CDF:
                                wr.WriteEndElement();
                            }
                        }
                        finally
                        {
                            IEnumerator enumerator2;
                            flag = (enumerator2 is IDisposable);
                            if (flag)
                            {
                                (enumerator2 as IDisposable).Dispose();
                            }
                        }
                        wr.WriteEndElement();
                    }
                }
                finally
                {
                    IEnumerator enumerator;
                    bool        flag = enumerator is IDisposable;
                    if (flag)
                    {
                        (enumerator as IDisposable).Dispose();
                    }
                }
                wr.WriteEndElement();
            }
        }
Example #16
0
            public static void Run()
            {
                var root = new GraphicObject()
                {
                    Name = "Root"
                };

                root.Children.Add(new Circle()
                {
                    Color = "Red"
                });
                root.Children.Add(new Square()
                {
                    Color = "Green"
                });
                var subSquareGroup = new Square()
                {
                    Name = "1St Sub Square", Color = "Yellow"
                };
                var magentaCircle = new Circle()
                {
                    Name = "MY Circle", Color = "Magenta"
                };
                var greenCircle = new Circle()
                {
                    Name = "Circle", Color = "Green"
                };

                magentaCircle.Children.Add(new Circle()
                {
                    Name = "Circle 33", Color = "Golden"
                });
                magentaCircle.Children.Add(new Circle()
                {
                    Name = "Circle 22", Color = "Red"
                });
                magentaCircle.Children.Add(new Square()
                {
                    Name = "Square 43", Color = "Green", Children =
                    {
                        new Circle()
                        {
                            Name = "Sub3 Circle", Color = "DarkBlue"
                        },
                        new Square()
                        {
                            Name = "Sub3 Square 52", Color = "ShinyGreen"
                        },
                    }
                });
                magentaCircle.Children.Add(new Circle()
                {
                    Name = "Circle 53", Color = "Yellow"
                });
                magentaCircle.Children.Add(new Circle()
                {
                    Name = "Circle 34", Color = "DarkOrange"
                });
                subSquareGroup.Children.Add(magentaCircle);
                root.Children.Add(subSquareGroup);
                root.Children.Add(greenCircle);
                Console.WriteLine(root);

                /*
                 * Result
                 *  Root
                 |-> Red Circle
                 |-> Green Square
                 |-> Yellow Square
                 ||-> Magenta Circle
                 |||-> Golden Circle
                 |||-> Red Circle
                 |||-> Green Square
                 ||||-> DarkBlue Circle
                 ||||-> ShinyGreen Square
                 |||-> Yellow Circle
                 |||-> DarkOrange Circle
                 |-> Green Circle
                 */
                Console.WriteLine(subSquareGroup);
            }
Example #17
0
        public void VeBound(AxMap pMap, Graphics g, Color Color)
        {
            float num = (float)(this.m_Zoom / pMap.Zoom);

            num = Conversions.ToSingle(Operators.MultiplyObject(num, Interaction.IIf(this.m_MWidth > 0f, pMap.MapScreenWidth / this.m_MWidth, 1)));
            float dx;
            float dy;

            pMap.ConvertCoord(ref dx, ref dy, ref this.m_GocX, ref this.m_GocY, ConversionConstants.miMapToScreen);
            GraphicsContainer container = g.BeginContainer();

            g.TranslateTransform(dx, dy);
            g.ScaleTransform(num, num);
            float left;
            float top;
            float right;
            float bottom;

            try
            {
                IEnumerator enumerator = this.m_GObjs.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    GraphicObject graphicObject = (GraphicObject)enumerator.Current;
                    RectangleF    bounds        = graphicObject.GetBounds();
                    if (bounds.Left < left)
                    {
                        left = bounds.Left;
                    }
                    if (bounds.Top < top)
                    {
                        top = bounds.Top;
                    }
                    if (bounds.Right > right)
                    {
                        right = bounds.Right;
                    }
                    if (bounds.Bottom > bottom)
                    {
                        bottom = bounds.Bottom;
                    }
                }
            }
            finally
            {
                IEnumerator enumerator;
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
            Pen pen = new Pen(Color.Black);

            pen.DashStyle = DashStyle.Dot;
            pen.Width     = 2f;
            pen.Color     = Color.White;
            Pen arg_175_1 = pen;

            checked
            {
                System.Drawing.Rectangle rect = new System.Drawing.Rectangle((int)Math.Round((double)left), (int)Math.Round((double)top), (int)Math.Round((double)(unchecked (right - left))), (int)Math.Round((double)(unchecked (bottom - top))));
                g.DrawRectangle(arg_175_1, rect);
                pen.Width = 1f;
                pen.Color = Color;
                Pen arg_1C5_1 = pen;
                rect = new System.Drawing.Rectangle((int)Math.Round((double)left), (int)Math.Round((double)top), (int)Math.Round((double)(unchecked (right - left))), (int)Math.Round((double)(unchecked (bottom - top))));
                g.DrawRectangle(arg_1C5_1, rect);
                pen.Dispose();
                g.EndContainer(container);
            }
        }
Example #18
0
        public RectangleF GetBounds(AxMap pMap)
        {
            float num = (float)(this.m_Zoom / pMap.Zoom);

            num = Conversions.ToSingle(Operators.MultiplyObject(num, Interaction.IIf(this.m_MWidth > 0f, pMap.MapScreenWidth / this.m_MWidth, 1)));
            float offsetX;
            float offsetY;

            pMap.ConvertCoord(ref offsetX, ref offsetY, ref this.m_GocX, ref this.m_GocY, ConversionConstants.miMapToScreen);
            Matrix matrix = new Matrix();

            matrix.Translate(offsetX, offsetY);
            matrix.Scale(num, num);
            float left;
            float top;
            float right;
            float bottom;

            try
            {
                IEnumerator enumerator = this.m_GObjs.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    GraphicObject graphicObject = (GraphicObject)enumerator.Current;
                    RectangleF    bounds        = graphicObject.GetBounds();
                    if (bounds.Left < left)
                    {
                        left = bounds.Left;
                    }
                    if (bounds.Top < top)
                    {
                        top = bounds.Top;
                    }
                    if (bounds.Right > right)
                    {
                        right = bounds.Right;
                    }
                    if (bounds.Bottom > bottom)
                    {
                        bottom = bounds.Bottom;
                    }
                }
            }
            finally
            {
                IEnumerator enumerator;
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
            PointF[] array = new PointF[4];
            array[0] = new PointF(left, top);
            array[1] = new PointF(right, top);
            array[2] = new PointF(right, bottom);
            array[3] = new PointF(left, bottom);
            matrix.TransformPoints(array);
            matrix.Dispose();
            PointF[] array2 = new PointF[2];
            array2[0].X = Math.Min(Math.Min(Math.Min(array[0].X, array[1].X), array[2].X), array[3].X);
            array2[0].Y = Math.Min(Math.Min(Math.Min(array[0].Y, array[1].Y), array[2].Y), array[3].Y);
            array2[1].X = Math.Max(Math.Max(Math.Max(array[0].X, array[1].X), array[2].X), array[3].X);
            array2[1].Y = Math.Max(Math.Max(Math.Max(array[0].Y, array[1].Y), array[2].Y), array[3].Y);
            System.Drawing.Rectangle r = checked (new System.Drawing.Rectangle((int)Math.Round((double)array2[0].X), (int)Math.Round((double)array2[0].Y), (int)Math.Round((double)(unchecked (array2[1].X - array2[0].X))), (int)Math.Round((double)(unchecked (array2[1].Y - array2[0].Y)))));
            return(r);
        }
Example #19
0
        void openOptionsDialog()
        {
            GraphicObject ed = this.FindByName("editor");

            Load("#CrowEdit.ui.EditorOptions.crow").DataSource = ed;
        }
Example #20
0
        public bool ProcessMouseMove(int x, int y)
        {
            int deltaX = x - imlVE.Mouse.X;
            int deltaY = y - imlVE.Mouse.Y;

            imlVE.Mouse.X = x;
            imlVE.Mouse.Y = y;
            MouseMoveEventArgs e = new MouseMoveEventArgs(x, y, deltaX, deltaY);

            e.Mouse = imlVE.Mouse;

            if (imlVE.ActiveWidget != null)
            {
                //TODO, ensure object is still in the graphic tree
                //send move evt even if mouse move outside bounds
                imlVE.ActiveWidget.onMouseMove(this, e);
                return(true);
            }

            if (imlVE.HoverWidget != null)
            {
                //TODO, ensure object is still in the graphic tree
                //check topmost graphicobject first
                GraphicObject tmp  = imlVE.HoverWidget;
                GraphicObject topc = null;
                while (tmp is GraphicObject)
                {
                    topc = tmp;
                    tmp  = tmp.LogicalParent as GraphicObject;
                }
                int idxhw = imlVE.GraphicTree.IndexOf(topc);
                if (idxhw != 0)
                {
                    int i = 0;
                    while (i < idxhw)
                    {
                        if (imlVE.GraphicTree [i].LogicalParent == imlVE.GraphicTree [i].Parent)
                        {
                            if (imlVE.GraphicTree [i].MouseIsIn(e.Position))
                            {
                                while (imlVE.HoverWidget != null)
                                {
                                    imlVE.HoverWidget.onMouseLeave(imlVE.HoverWidget, e);
                                    imlVE.HoverWidget = imlVE.HoverWidget.LogicalParent as GraphicObject;
                                }

                                imlVE.GraphicTree [i].checkHoverWidget(e);
                                return(true);
                            }
                        }
                        i++;
                    }
                }


                if (imlVE.HoverWidget.MouseIsIn(e.Position))
                {
                    imlVE.HoverWidget.checkHoverWidget(e);
                    return(true);
                }
                else
                {
                    imlVE.HoverWidget.onMouseLeave(imlVE.HoverWidget, e);
                    //seek upward from last focused graph obj's
                    while (imlVE.HoverWidget.LogicalParent as GraphicObject != null)
                    {
                        imlVE.HoverWidget = imlVE.HoverWidget.LogicalParent as GraphicObject;
                        if (imlVE.HoverWidget.MouseIsIn(e.Position))
                        {
                            imlVE.HoverWidget.checkHoverWidget(e);
                            return(true);
                        }
                        else
                        {
                            imlVE.HoverWidget.onMouseLeave(imlVE.HoverWidget, e);
                        }
                    }
                }
            }

            //top level graphic obj's parsing
            lock (imlVE.GraphicTree) {
                for (int i = 0; i < imlVE.GraphicTree.Count; i++)
                {
                    GraphicObject g = imlVE.GraphicTree [i];
                    if (g.MouseIsIn(e.Position))
                    {
                        g.checkHoverWidget(e);
                        if (g is Window)
                        {
                            imlVE.PutOnTop(g);
                        }
                        return(true);
                    }
                }
            }
            imlVE.HoverWidget = null;
            return(false);
        }
Example #21
0
        void advance(GraphicObject w)
        {
            if (Orientation == Orientation.Horizontal)
            {
                //if (w is LabelWidget)
                //    Debugger.Break();
                currentXForWidget = currentXForWidget + widgetSpacing + w.renderBounds.Width;
            }
            else
                currentYForWidget = currentYForWidget + widgetSpacing + w.renderBounds.Height;

            if (!SizeToContent)
            {
                if (currentXForWidget > ClientRectangle.Right && !HorizontalScrolling)
                {
                    if (Orientation == Orientation.Vertical)
                    {
                        //not scrolling
                    }
                    else
                    {
                        currentXForWidget = ClientRectangle.X;
                        currentYForWidget += widgetSpacing + highestWidget;
                        highestWidget = 0;
                    }
                }
                if (currentYForWidget > ClientRectangle.Bottom && !VerticalScrolling)
                {
                    if (Orientation == Orientation.Horizontal)
                    {
                        //not scrolling
                    }
                    else
                    {
                        currentXForWidget += widgetSpacing + largestWidget;
                        currentYForWidget = ClientRectangle.Y;
                        largestWidget = 0;
                    }

                }
            }
        }
Example #22
0
    /// <summary>
    /// 拡大、回転表示(x,y)が中心座標になるのでalignのDelta(dx,dy)値は無視
    /// </summary>
    /// <param name="x"></param>
    /// <param name="y"></param>
    /// <param name="zoom">1で元のまま</param>
    /// <param name="angle">0で元のままラジアン指定</param>
    private static void DrawZoomRotate(EnumGraphic enumgraphic, int x, int y, double zoom, double angle, int num, EnumPriority priority, EnumBLEND blend, int blendparam)
    {
        GraphicObject o = GraphicObject.GetGraphicObject(enumgraphic);

        MyDraw.DrawRotaGraph(x, y, zoom, angle, o.GHandle(frame, num), priority, blend, blendparam);
    }
Example #23
0
    /// <summary>
    /// 配列版の描画(上一部分だけ描画
    /// </summary>
    /// <param name="x"></param>
    /// <param name="y"></param>
    /// <param name="num">配列番号</param>
    private static void DrawUpperRect(EnumGraphic enumgraphic, int x, int y, int num, int upperheight, EnumPriority priority, EnumBLEND blend, int blendparam)
    {
        GraphicObject o = GraphicObject.GetGraphicObject(enumgraphic);

        MyDraw.DrawRectGraph(x + o.dx, y + o.dy, 0, 0, o.width, upperheight, o.GHandle(frame, num), priority, blend, blendparam);
    }
        private void LoadSymbols()
        {
            base.ClearModels();
            base.ClearBillboards();
            this.m_Symbol3Objs.Clear();
            double num;
            double num2;

            checked
            {
                num  = Convert.ToDouble(decimal.Multiply(new decimal(this.m_TexImage.Width), new decimal(1000L))) / (double)(modSaBan.myGRID_WIDTH - 1) / 1000.0;
                num2 = Convert.ToDouble(decimal.Multiply(new decimal(this.m_TexImage.Height), new decimal(1000L))) / (double)(modSaBan.myGRID_HEIGHT - 1) / 1000.0;
                Graphics graphics = Graphics.FromImage(this.m_TexImage);
            }
            try
            {
                IEnumerator enumerator = myModule.fMain.myBando.drawingSymbols.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    CSymbol cSymbol      = (CSymbol)enumerator.Current;
                    PointF  surfPosition = modSaBan.GetSurfPosition(cSymbol.GocX, cSymbol.GocY);
                    float   valueX       = (float)((double)surfPosition.X / num);
                    float   valueY       = (float)((double)(checked (modSaBan.myGRID_HEIGHT - 1)) - (double)surfPosition.Y / num2);
                    float   dHeading     = -CTerrain.DegreeToRadian(cSymbol.Heading);
                    Vector3 pPos         = new Vector3(valueX, valueY, -7f);
                    int     num3         = base.GetModelMeshIndex(cSymbol.Description);
                    if (num3 > -1)
                    {
                        base.Load1Model(cSymbol.Description, num3, pPos, dHeading);
                    }
                    else
                    {
                        num3 = base.GetBillboardMeshIndex(cSymbol.Description);
                        if (num3 > -1)
                        {
                            base.Load1Billboard(cSymbol.Description, num3, pPos, dHeading);
                        }
                        else
                        {
                            double       zoom         = cSymbol.Zoom / (double)cSymbol.MWidth * (modSaBan.my3DSoPixelsPer1000m / 1000.0);
                            CGraphicObjs cGraphicObjs = new CGraphicObjs();
                            try
                            {
                                IEnumerator enumerator2 = cSymbol.GObjs.GetEnumerator();
                                while (enumerator2.MoveNext())
                                {
                                    GraphicObject graphicObject = (GraphicObject)enumerator2.Current;
                                    GraphicObject aGObj         = graphicObject.Clone();
                                    cGraphicObjs.Add(aGObj);
                                }
                            }
                            finally
                            {
                                IEnumerator enumerator2;
                                if (enumerator2 is IDisposable)
                                {
                                    (enumerator2 as IDisposable).Dispose();
                                }
                            }
                            CSymbol3 cSymbol2 = new CSymbol3(cSymbol.Description, surfPosition, cGraphicObjs);
                            cSymbol2.Zoom    = zoom;
                            cSymbol2.Heading = cSymbol.Heading;
                            this.m_Symbol3Objs.Add(cSymbol2);
                        }
                    }
                }
            }
            finally
            {
                IEnumerator enumerator;
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
        }
Example #25
0
        public override bool ProcessMouseMove(int x, int y)
        {
            int deltaX = x - Mouse.X;
            int deltaY = y - Mouse.Y;

            Mouse.X = x;
            Mouse.Y = y;
            MouseMoveEventArgs e = new MouseMoveEventArgs(x, y, deltaX, deltaY);

            e.Mouse = Mouse;

            if (ActiveWidget != null)
            {
                //TODO, ensure object is still in the graphic tree
                //send move evt even if mouse move outside bounds
                ActiveWidget.onMouseMove(this, e);
                if (!ActiveWidget.IsDragged)                //if active is dragged, process mouse move as it was not visible.
                {
                    return(true);
                }
            }

            if (HoverWidget != null)
            {
                //check topmost graphicobject first
                GraphicObject tmp  = HoverWidget;
                GraphicObject topc = null;
                while (tmp is GraphicObject)
                {
                    topc = tmp;
                    tmp  = tmp.LogicalParent as GraphicObject;
                }
                int idxhw = GraphicTree.IndexOf(topc);
                if (idxhw != 0)
                {
                    int i = 0;
                    while (i < idxhw)
                    {
                        if (GraphicTree [i].localLogicalParentIsNull)
                        {
                            if (GraphicTree [i].MouseIsIn(e.Position))
                            {
                                while (HoverWidget != null)
                                {
                                    HoverWidget.onMouseLeave(HoverWidget, e);
                                    HoverWidget = HoverWidget.LogicalParent as GraphicObject;
                                }

                                GraphicTree [i].checkHoverWidget(e);
                                return(true);
                            }
                        }
                        i++;
                    }
                }

                if (HoverWidget.MouseIsIn(e.Position))
                {
                    if (!(HoverWidget is TemplatedControl))
                    {
                        HoverWidget.checkHoverWidget(e);
                    }
                    return(true);
                }
                else
                {
                    HoverWidget.onMouseLeave(HoverWidget, e);
                    //seek upward from last focused graph obj's
                    while (HoverWidget.LogicalParent as GraphicObject != null)
                    {
                        HoverWidget = HoverWidget.LogicalParent as GraphicObject;
                        if (HoverWidget.MouseIsIn(e.Position))
                        {
                            HoverWidget.checkHoverWidget(e);
                            return(true);
                        }
                        else
                        {
                            HoverWidget.onMouseLeave(HoverWidget, e);
                        }
                    }
                }
            }

            //top level graphic obj's parsing
            lock (GraphicTree) {
                for (int i = 0; i < GraphicTree.Count; i++)
                {
                    GraphicObject g = GraphicTree [i];
                    if (g.MouseIsIn(e.Position))
                    {
                        if (!(HoverWidget is TemplatedControl))
                        {
                            g.checkHoverWidget(e);
                        }
                        if (g is Window)
                        {
                            PutOnTop(g);
                        }
                        return(true);
                    }
                }
            }
            HoverWidget = null;
            return(false);
        }
Example #26
0
        bool enoughtSpaceForWidget(GraphicObject w)
        {
            int nextXForWidget = 0;
            int nextYForWidget = 0;

            if (Orientation == Orientation.Horizontal)
                nextXForWidget = currentXForWidget + w.renderBounds.Width;
            else
                nextYForWidget = nextYForWidget + w.renderBounds.Height;

            if (!SizeToContent)
            {
                if (nextXForWidget > ClientRectangle.Right && !HorizontalScrolling)
                    return false;
                if (currentYForWidget > ClientRectangle.Bottom && !VerticalScrolling)
                    return false;
            }
            return true;
        }
Example #27
0
        public void DrawSelectedSymbol(AxMap pMap, Graphics g, CSymbol selectedSymbol, float Scale)
        {
            GraphicObject selectedObject = selectedSymbol.GObjs[0];

            System.Drawing.Point ltPt    = default(System.Drawing.Point);
            float         num            = (float)ltPt.X;
            float         num2           = (float)ltPt.Y;
            GraphicObject graphicObject  = selectedObject;
            double        num3           = (double)graphicObject.X;
            GraphicObject graphicObject2 = selectedObject;
            double        num4           = (double)graphicObject2.Y;

            pMap.ConvertCoord(ref num, ref num2, ref num3, ref num4, ConversionConstants.miMapToScreen);
            graphicObject2.Y = (float)num4;
            graphicObject.X  = (float)num3;
            checked
            {
                ltPt.Y = (int)Math.Round((double)num2);
                ltPt.X = (int)Math.Round((double)num);
                GraphicsContainer gCon = g.BeginContainer();
                g.ScaleTransform(Scale, Scale, MatrixOrder.Append);
                GraphicsContainer gCon2 = g.BeginContainer();
                g.PageUnit = GraphicsUnit.Pixel;
                bool flag = selectedObject != null;
                if (flag)
                {
                    Pen selectionPen = new Pen(Color.FromKnownColor(KnownColor.HotTrack));
                    selectionPen.DashStyle = DashStyle.Dot;
                    selectionPen.Width     = 1f;
                    flag = (selectedObject.Rotation != 0f);
                    if (flag)
                    {
                        Matrix myMatrix  = g.Transform;
                        Matrix arg_123_0 = myMatrix;
                        float  arg_123_1 = selectedObject.Rotation;
                        PointF point     = new PointF((float)ltPt.X, (float)ltPt.Y);
                        arg_123_0.RotateAt(arg_123_1, point, MatrixOrder.Append);
                        g.Transform = myMatrix;
                    }
                    PointF[] mPtfs = new PointF[3];
                    mPtfs[0].X = selectedObject.X;
                    mPtfs[0].Y = selectedObject.Y;
                    int mPtsCount;
                    unchecked
                    {
                        mPtfs[1].X = selectedObject.X + selectedObject.Width;
                        mPtfs[1].Y = selectedObject.Y + selectedObject.Height;
                        mPtsCount  = mPtfs.GetUpperBound(0);
                    }
                    System.Drawing.Point[] mPts = new System.Drawing.Point[mPtsCount + 1];
                    int arg_1B3_0 = 0;
                    int num5      = mPtsCount;
                    int i         = arg_1B3_0;
                    while (true)
                    {
                        int arg_281_0 = i;
                        int num6      = num5;
                        if (arg_281_0 > num6)
                        {
                            break;
                        }
                        System.Drawing.Point[] arg_1C3_0 = mPts;
                        int num7 = i;
                        num2 = (float)arg_1C3_0[num7].X;
                        System.Drawing.Point[] arg_1DA_0 = mPts;
                        int num8 = i;
                        num = (float)arg_1DA_0[num8].Y;
                        PointF[] arg_1F1_0 = mPtfs;
                        int      num9      = i;
                        num4 = (double)arg_1F1_0[num9].X;
                        PointF[] arg_208_0 = mPtfs;
                        int      num10     = i;
                        num3 = (double)arg_208_0[num10].Y;
                        pMap.ConvertCoord(ref num2, ref num, ref num4, ref num3, ConversionConstants.miMapToScreen);
                        mPtfs[num10].Y = (float)num3;
                        mPtfs[num9].X  = (float)num4;
                        mPts[num8].Y   = (int)Math.Round((double)num);
                        mPts[num7].X   = (int)Math.Round((double)num2);
                        i++;
                    }
                    float mW   = (float)Math.Abs(mPts[1].X - mPts[0].X);
                    float mH   = (float)Math.Abs(mPts[1].Y - mPts[0].Y);
                    float mPtX = (float)Math.Min(mPts[0].X, mPts[1].X);
                    float mPtY = (float)Math.Min(mPts[0].Y, mPts[1].Y);
                    System.Drawing.Rectangle rect = new System.Drawing.Rectangle((int)Math.Round((double)mPtX), (int)Math.Round((double)mPtY), (int)Math.Round((double)mW), (int)Math.Round((double)mH));
                    g.DrawRectangle(selectionPen, rect);
                }
                g.EndContainer(gCon2);
                g.EndContainer(gCon);
            }
        }
Example #28
0
 void testAlignment(GraphicObject g)
 {
     g.HorizontalAlignment = HorizontalAlignment.Left;
 }
        public override void Action(GraphicObject g)
        {
            base.Action(g);

            g.CheckObjectEnabled();
        }
Example #30
0
        public void VFlip()
        {
            RectangleF bounds;

            try
            {
                IEnumerator enumerator = this.m_GObjs.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    GraphicObject graphicObject = (GraphicObject)enumerator.Current;
                    bounds = graphicObject.GetBounds();
                    float left;
                    if (bounds.Left < left)
                    {
                        left = bounds.Left;
                    }
                    float top;
                    if (bounds.Top < top)
                    {
                        top = bounds.Top;
                    }
                    float right;
                    if (bounds.Right > right)
                    {
                        right = bounds.Right;
                    }
                    float bottom;
                    if (bounds.Bottom > bottom)
                    {
                        bottom = bounds.Bottom;
                    }
                }
            }
            finally
            {
                IEnumerator enumerator;
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
            float pX = (bounds.Left + bounds.Right) / 2f;

            try
            {
                IEnumerator enumerator2 = this.m_GObjs.GetEnumerator();
                while (enumerator2.MoveNext())
                {
                    GraphicObject graphicObject2 = (GraphicObject)enumerator2.Current;
                    graphicObject2.VFlip(pX);
                }
            }
            finally
            {
                IEnumerator enumerator2;
                if (enumerator2 is IDisposable)
                {
                    (enumerator2 as IDisposable).Dispose();
                }
            }
        }
Example #31
0
 public virtual void Action(GraphicObject g)
 {
 }
Example #32
0
        public override void Intersection(Collision c, GraphicObject g)
        {
            base.Intersection(c, g);
            switch (g.OT)
            {
            case ObjectType.OT_Exit:
            {
                if (EnterPressed)
                {
                    EnterPressed = false;
                    OnLevelCompleted?.Invoke();
                    //System.Windows.Forms.MessageBox.Show("Very Good !");
                }
                break;
            }

            case ObjectType.OT_Flower:
            {
                ((Flower)g).Visible = false;
                if (Type != MarioType.MT_Fire)
                {
                    Type = MarioType.MT_Fire;
                    SetMarioProperties();
                    Media.PlaySound(Media.SoundType.ST_Mush);
                }
                break;
            }

            case ObjectType.OT_Mush:
            {
                ((MushRed)g).Visible  = false;
                ((MushRed)g).Animated = false;
                ((MushRed)g).Live     = false;
                if (Type == MarioType.MT_Small)
                {
                    Type = MarioType.MT_Big;
                    SetMarioProperties();
                    Media.PlaySound(Media.SoundType.ST_Mush);
                }
                break;
            }

            case ObjectType.OT_MushLife:
            {
                ((MushLife)g).Visible  = false;
                ((MushLife)g).Animated = false;
                ((MushLife)g).Live     = false;
                LevelManager.Instance.MarioLives++;
                break;
            }

            case ObjectType.OT_Coin:
            {
                ((CoinBlock)g).Animated = false;
                ((CoinBlock)g).Visible  = false;
                Media.PlaySound(Media.SoundType.ST_Coin);
                NumberOfCollectedCoins++;
                break;
            }

            case ObjectType.OT_Goomba:
            {
                if (c.Dir == CollisionDirection.CD_Up)
                {
                    if (((MonsterGoomba)g).FallDie == false)        // Jump On Goomba with Up Presses
                    {
                        if (UpPressed)
                        {
                            StartJump(true, 0);
                        }
                        else
                        {
                            StartJump(true, -20);
                        }

                        ((MonsterGoomba)g).GoombaDie();
                        Media.PlaySound(Media.SoundType.ST_Stomp);
                    }
                }
                break;
            }

            case ObjectType.OT_Pirana:
            {
                if (c.Dir == CollisionDirection.CD_Up)          // Jump On Piranah with Up Presses
                {
                    if (UpPressed)
                    {
                        StartJump(true, 0);
                    }
                    else
                    {
                        StartJump(true, -20);
                    }

                    ((MonsterPiranah)g).PiranahDie();
                    Media.PlaySound(Media.SoundType.ST_Stomp);
                }
                break;
            }

            case ObjectType.OT_Koopa:
            {
                if (c.Dir == CollisionDirection.CD_Up)      // Jump On Koopa with Up Presses
                {
                    if (((MonsterKoopa)g).State == MonsterKoopa.KoopaState.KS_Walking)
                    {
                        if (UpPressed)
                        {
                            StartJump(true, 0);
                        }
                        else
                        {
                            StartJump(true, -20);
                        }

                        ((MonsterKoopa)g).SetKoopaState(MonsterKoopa.KoopaState.KS_Shield);
                        Media.PlaySound(Media.SoundType.ST_Stomp);
                    }
                    else
                    {
                        if ((((MonsterKoopa)g).State == MonsterKoopa.KoopaState.KS_Shield) && (((MonsterKoopa)g).ReturningTime >= 3))
                        {
                            ((MonsterKoopa)g).SetKoopaState(MonsterKoopa.KoopaState.KS_ShieldMoving);
                        }
                        else if (((MonsterKoopa)g).State == MonsterKoopa.KoopaState.KS_ShieldMoving)
                        {
                            if (UpPressed)
                            {
                                StartJump(true, 0);
                            }
                            else
                            {
                                StartJump(true, -20);
                            }

                            ((MonsterKoopa)g).SetKoopaState(MonsterKoopa.KoopaState.KS_Shield);
                        }
                    }
                }
                break;
            }

            case ObjectType.OT_MovingBlock:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_SolidBlock:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_PipeUp:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_BlockQuestion:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_BlockQuestionHidden:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_Brick:
                goto case ObjectType.OT_Grass;

            case ObjectType.OT_Grass:
            {
                SetDirections();

                if (c.Dir == CollisionDirection.CD_TopLeft)
                {
                    if (g.OT == ObjectType.OT_Brick)
                    {
                        //if (MoveState == MarioMoveState.J_Right)
                        //    x -= (int)XAdd;
                        //if (MoveState == MarioMoveState.J_Left)
                        //    x += (int)XAdd;

                        //Intersection_None();
                    }
                }
                if (c.Dir == CollisionDirection.CD_Up)
                {
                    if (g.OT == ObjectType.OT_MovingBlock)
                    {
                        this.y = g.newy - this.height;
                        ((BlockMoving)g).MarioOn = true;
                    }
                    else
                    {
                        if (State != MarioJumpState.J_None)
                        {
                            this.y = g.newy - this.height;
                        }
                    }
                    if (State != MarioJumpState.J_None)
                    {
                        State = MarioJumpState.J_None;
                    }
                    SetDirections();
                }

                if (c.Dir == CollisionDirection.CD_Left)
                {
                    this.x = g.newx - width;
                    //if (g.OT == ObjectType.OT_SolidBlock)
                    //    Intersection_None();
                    if (g.OT == ObjectType.OT_Brick)
                    {
                        //if (MoveState == MarioMoveState.J_Right)
                        //    x -= (int)XAdd;
                        //if (MoveState == MarioMoveState.J_Left)
                        //    x += (int)XAdd;
                        this.x = g.newx - width;
                    }
                }

                if (c.Dir == CollisionDirection.CD_Down)
                {
                    if (State == MarioJumpState.J_Up)
                    {
                        State         = MarioJumpState.JDown;
                        StartPosition = y;
                        TimeCount     = 0;
                        StartVelocity = 0;
                        if (g.OT == ObjectType.OT_BlockQuestion || g.OT == ObjectType.OT_BlockQuestionHidden)
                        {
                            ((BlockQuestion)g).isMonsterExist();
                            ((BlockQuestion)g).StartMove();
                            if (((BlockQuestion)g).HiddenObject.OT != ObjectType.OT_Coin)
                            {
                                Media.PlaySound(Media.SoundType.ST_Block);
                            }
                            else
                            {
                                NumberOfCollectedCoins++;
                                Media.PlaySound(Media.SoundType.ST_Coin);
                            }
                        }
                        if (g.OT == ObjectType.OT_Brick)
                        {
                            if (Type == MarioType.MT_Big || Type == MarioType.MT_Fire)
                            {
                                ((BlockBrick)g).BreakBrick();
                                Media.PlaySound(Media.SoundType.ST_Brick);
                            }
                            else
                            {
                                Media.PlaySound(Media.SoundType.ST_Block);
                            }
                        }
                    }
                }
                if (c.Dir == CollisionDirection.CD_Right)
                {
                    this.x = g.newx + g.width;
                    //if (g.OT == ObjectType.OT_SolidBlock)
                    //    Intersection_None();
                    //XAdd = 0;
                }
                break;
            }
            }
        }
Example #33
0
    public static void SetGraphicObjects()
    {
        object obj = new XMLGraphicData();

        MyUtil.XML.Read("gd.xml", ref obj);
        XMLGraphicData readxml = (XMLGraphicData)obj;

        //XMLから辞書にセット
        GraphicObject.SetDictionary(readxml.MakeGraphicObjectDictionary());

        // 画像の読み込み
        //GraphicObject scr = new GraphicObject("scr.png", GraphicObject.EnumAlign.RIGHTCENTER, 2, 1);//スクラッチの左右向き緑
        //GraphicObject scrbad = new GraphicObject("scrbad.png", GraphicObject.EnumAlign.RIGHTCENTER, 2, 1);//スクラッチの左右向き緑
        //GraphicObject scrcore = new GraphicObject("scrcore.png", GraphicObject.EnumAlign.CENTERCENTER);//スクラッチの左右向き緑
        //GraphicObject bar = new GraphicObject("bar.png", GraphicObject.EnumAlign.CENTERBOTTOM);
        //GraphicObject baroff = new GraphicObject("baroff.png", GraphicObject.EnumAlign.CENTERBOTTOM);

        //GraphicObject disk = new GraphicObject("disk.png", GraphicObject.EnumAlign.CENTERCENTER);
        //GraphicObject light = new GraphicObject("disklight.png", GraphicObject.EnumAlign.CENTERCENTER);
        //GraphicObject NGXMark = new GraphicObject("xDisk.png", GraphicObject.EnumAlign.CENTERCENTER);

        //GraphicObject disklightl = new GraphicObject("disklightl.png", GraphicObject.EnumAlign.CENTERCENTER);
        //GraphicObject disklightr = new GraphicObject("disklightr.png", GraphicObject.EnumAlign.CENTERCENTER);

        //GraphicObject cutinL = new GraphicObject("cutinL.png", GraphicObject.EnumAlign.CENTERBOTTOM);
        //GraphicObject cutinR = new GraphicObject("cutinR.png", GraphicObject.EnumAlign.CENTERBOTTOM);

        //GraphicObject diskshadowL = new GraphicObject("diskshadowL.png", GraphicObject.EnumAlign.CENTERBOTTOM, 1, 2);//アクティブ皿の裏ののびーる紫
        //GraphicObject diskshadowR = new GraphicObject("diskshadowR.png", GraphicObject.EnumAlign.CENTERBOTTOM, 1, 2);//アクティブ皿の裏ののびーる赤

        //GraphicObject barL = new GraphicObject("playlinel.png", GraphicObject.EnumAlign.CENTERBOTTOM);
        //GraphicObject barR = new GraphicObject("playliner.png", GraphicObject.EnumAlign.CENTERBOTTOM);

        //GraphicObject cue = new GraphicObject("cue.png", GraphicObject.EnumAlign.CENTERCENTER, 1, 36);
        //GraphicObject cueL = new GraphicObject("cueL.png", GraphicObject.EnumAlign.CENTERCENTER, 1, 37);
        //GraphicObject cueR = new GraphicObject("cueR.png", GraphicObject.EnumAlign.CENTERCENTER, 1, 37);

        //GraphicObject fader = new GraphicObject("fader.png", GraphicObject.EnumAlign.CENTERBOTTOM);
        //GraphicObject faderC = new GraphicObject("faderC.png", GraphicObject.EnumAlign.CENTERBOTTOM);
        //GraphicObject faderL = new GraphicObject("faderL.png", GraphicObject.EnumAlign.CENTERBOTTOM);
        //GraphicObject faderR = new GraphicObject("faderR.png", GraphicObject.EnumAlign.CENTERBOTTOM);

        //GraphicObject particle = new GraphicObject("star.png", GraphicObject.EnumAlign.CENTERCENTER, 1, 3);

        //GraphicObject frame = new GraphicObject("frame.png", GraphicObject.EnumAlign.LEFTTOP);
        //GraphicObject rainbow = new GraphicObject("Rainbow.png", GraphicObject.EnumAlign.LEFTTOP, 1, 8);

        //GraphicObject barBeat = new GraphicObject("barBeat.png", GraphicObject.EnumAlign.LEFTTOP);
        //GraphicObject barMeasure = new GraphicObject("barMeasure.png", GraphicObject.EnumAlign.LEFTTOP);

        //GraphicObject COOL = new GraphicObject("!!!COOL!!!.png", GraphicObject.EnumAlign.CENTERCENTER);
        //GraphicObject PERFECT = new GraphicObject("PERFECT.png", GraphicObject.EnumAlign.CENTERCENTER);
        //GraphicObject GREAT = new GraphicObject("GREAT.png", GraphicObject.EnumAlign.CENTERCENTER);
        //GraphicObject GOOD = new GraphicObject("GOOD.png", GraphicObject.EnumAlign.CENTERCENTER);
        //GraphicObject BAD = new GraphicObject("BAD.png", GraphicObject.EnumAlign.CENTERCENTER);

        //DiscQueCutData.SetGraphicObject(disk, cue, null, light, NGXMark);
        //DiscQueCutData.SetLGraphicObject(cueL, diskshadowL, cutinL, barL);
        //DiscQueCutData.SetRGraphicObject(cueR, diskshadowR, cutinR, barR);
        //ScratchUnit.SetGraphicObject(scr, scrbad, scrcore, bar, baroff);

        //EffectParticle.SetGraphicObject(particle);
        //EffectJudge.SetGraphicObject(COOL, PERFECT, GREAT, GOOD, BAD);
        //EffectRecord.SetGraphicObject(disklightl, disklightr);

        //drawfader.setGraphicObject(fader, faderC, faderL, faderR);
        //DrawLowFrame.SetGraphicObject(frame, rainbow);
        //DrawBeatline.SetGraphicObject(barBeat, barMeasure);
    }
Example #34
0
        void KeyboardKeyDown1(object sender, OpenTK.Input.KeyboardKeyEventArgs e)
        {
            if (e.Key == OpenTK.Input.Key.Escape)
            {
                Quit(null, null);
                return;
            }
            else if (e.Key == OpenTK.Input.Key.F1)
            {
                TestList.Add("new string");
                NotifyValueChanged("TestList", TestList);
                return;
            }
            else if (e.Key == OpenTK.Input.Key.F4)
            {
                GraphicObject w = Load("Interfaces/TemplatedContainer/testWindow.goml");
                w.DataSource = this;
                return;
            }
            else if (e.Key == OpenTK.Input.Key.F5)
            {
                GraphicObject w = Load("Interfaces/Unsorted/testFileDialog.crow");
                w.DataSource = this;
                return;
            }
            else if (e.Key == OpenTK.Input.Key.F6)
            {
                GraphicObject w = Load("Interfaces/Divers/0.crow");
                w.DataSource = this;
                return;
            }
            else if (e.Key == OpenTK.Input.Key.F7)
            {
                GraphicObject w = Load("Interfaces/Divers/perfMeasures.crow");
                w.DataSource = this;
                return;
            }
            else if (e.Key == OpenTK.Input.Key.F2)
            {
                idx--;
            }
            else if (e.Key == OpenTK.Input.Key.F3)
            {
                idx++;
            }
            else
            {
                return;
            }

            try {
                ClearInterface();

                if (idx == testFiles.Length)
                {
                    idx = 0;
                }
                else if (idx < 0)
                {
                    idx = testFiles.Length - 1;
                }

                this.Title = testFiles [idx] + ". Press <F3> to cycle examples.";

                GraphicObject obj = Load(testFiles[idx]);
                obj.DataSource = this;
            } catch (Exception ex) {
                Debug.WriteLine(ex.Message + ex.InnerException);
            }
        }