Ejemplo n.º 1
0
        void Item_Event(object obj, Gnome.CanvasEventArgs args)
        {
            EventButton ev   = new EventButton(args.Event.Handle);
            CanvasRE    item = (CanvasRE)obj;

            switch (ev.Type)
            {
            case EventType.ButtonPress:
                if (ev.Button == 1)
                {
                    remember_x  = ev.X;
                    remember_y  = ev.Y;
                    args.RetVal = true;
                    return;
                }
                else if (ev.Button == 3)
                {
                    item.Destroy();
                    args.RetVal = true;
                    return;
                }
                break;

            case EventType.TwoButtonPress:
                ChangeItemColor(item);
                args.RetVal = true;
                return;

            case EventType.MotionNotify:
                Gdk.ModifierType state = (Gdk.ModifierType)ev.State;
                if ((state & Gdk.ModifierType.Button1Mask) != 0)
                {
                    double new_x = ev.X, new_y = ev.Y;
                    item.Move(new_x - remember_x, new_y - remember_y);
                    remember_x  = new_x;
                    remember_y  = new_y;
                    args.RetVal = true;
                    return;
                }
                break;

            case EventType.EnterNotify:
                item.WidthUnits = 3.0;
                args.RetVal     = true;
                return;

            case EventType.LeaveNotify:
                item.WidthUnits = 1.0;
                args.RetVal     = true;
                return;
            }

            args.RetVal = false;
            return;
        }
Ejemplo n.º 2
0
        void AddObject(object obj, EventArgs args)
        {
            double x1 = random.Next(width);
            double y1 = random.Next(height);
            double x2 = random.Next(width);
            double y2 = random.Next(height);

            if (x1 > x2)
            {
                Swap(ref x1, ref x2);
            }

            if (y1 > y2)
            {
                Swap(ref y1, ref y2);
            }

            if ((x2 - x1) < 10)
            {
                x2 += 10;
            }

            if ((y2 - y1) < 10)
            {
                y2 += 10;
            }

            CanvasRE item = null;

            if (random.Next(2) > 0)
            {
                item = new CanvasRect(canvas.Root());
            }
            else
            {
                item = new CanvasEllipse(canvas.Root());
            }

            item.X1           = x1;
            item.Y1           = y1;
            item.X2           = x2;
            item.Y2           = y2;
            item.FillColor    = "white";
            item.OutlineColor = "black";
            item.WidthUnits   = 1.0;

            item.CanvasEvent += new Gnome.CanvasEventHandler(Item_Event);
        }
		void ChangeItemColor (CanvasRE item)
		{
			string[] colors = new string[] {"red", "yellow", "green", "cyan", "blue", "magenta"};
			item.FillColor = colors[random.Next (colors.Length)];	
		}
Ejemplo n.º 4
0
 void ChangeItemColor(CanvasRE item)
 {
     string[] colors = new string[] { "red", "yellow", "green", "cyan", "blue", "magenta" };
     item.FillColor = colors[random.Next(colors.Length)];
 }