LynnaLab.RoomEditor.OnExposeEvent C# (CSharp) Method

OnExposeEvent() protected method

protected OnExposeEvent ( Gdk ev ) : bool
ev Gdk
return bool
        protected override bool OnExposeEvent(Gdk.EventExpose ev)
        {
            Graphics g = Gtk.DotNet.Graphics.FromDrawable(ev.Window);

            if (ViewObjects)
                g.DrawImage(Image, 0, 0, Image.Width*Scale, Image.Height*Scale);
            else
                base.OnExposeEvent(ev);

            if (ViewObjects && objectEditor != null) {
                // Draw objects

                int cursorX=-1,cursorY=-1;
                int selectedX=-1,selectedY=-1;
                hoveringObjectIndices = new List<int>();

                ObjectGroup group = objectEditor.ObjectGroup;
                DrawObjectGroup(g, 0, ref cursorX, ref cursorY, ref selectedX, ref selectedY, group, objectEditor, ref hoveringObjectIndices);

                // Object hovering over
                if (cursorX != -1)
                    g.DrawRectangle(new Pen(Color.Red), cursorX, cursorY, 15, 15);
                // Object selected
                if (selectedX != -1)
                    g.DrawRectangle(new Pen(Color.White), selectedX, selectedY, 15, 15);
            }

            g.Dispose();

            return true;
        }