示例#1
0
 private float GetRenderFlags(GlobalRenderFlags flags)
 {
     // return (((RenderingInterop.NativeDesignControl)m_designView.ActiveView).RenderState.RenderFlag & flags) == flags
     //     ? 1.0f
     //     : 0.0f;
     return(0.0f);
 }
示例#2
0
 private void SetRenderFlags(GlobalRenderFlags flags, object oscData)
 {
     // float param1;
     // if (!GetOscParam(oscData, out param1))
     //     return;
     // var designControl = (NativeDesignControl)m_designView.ActiveView;
     // if (param1 == 0.0f)
     //     designControl.RenderState.RenderFlag &= ~flags;
     // else
     //     designControl.RenderState.RenderFlag |= flags;
     // designControl.Invalidate();
 }
示例#3
0
        /// <summary>
        /// Updates command state for given command</summary>
        /// <param name="commandTag">Command</param>
        /// <param name="state">Command state to update</param>
        public void UpdateCommand(object commandTag, Sce.Atf.Applications.CommandState state)
        {
            if (commandTag is Command)
            {
                NativeDesignControl control = (NativeDesignControl)m_designView.ActiveView;
                GlobalRenderFlags   flags   = control.RenderState.RenderFlag;
                switch ((Command)commandTag)
                {
                case Command.RenderSmooth:
                    state.Check = (flags & GlobalRenderFlags.Solid) != 0;
                    break;

                case Command.RenderWireFrame:
                    state.Check = (flags & GlobalRenderFlags.WireFrame) != 0;
                    break;

                case Command.RenderOutlined:
                    state.Check = (flags & GlobalRenderFlags.Solid) != 0 &&
                                  (flags & GlobalRenderFlags.WireFrame) != 0;
                    break;

                case Command.RenderTextured:
                    state.Check = (flags & GlobalRenderFlags.Textured) != 0;
                    break;

                case Command.RenderLight:
                    state.Check = ((flags & GlobalRenderFlags.Lit) != 0);
                    break;

                case Command.RenderBackFace:
                    state.Check = (flags & GlobalRenderFlags.RenderBackFace) != 0;
                    break;

                case Command.RenderShadow:
                    state.Check = (flags & GlobalRenderFlags.Shadows) == GlobalRenderFlags.Shadows;
                    break;

                case Command.RenderNormals:
                    state.Check = (flags & GlobalRenderFlags.RenderNormals) == GlobalRenderFlags.RenderNormals;
                    break;
                    // case Command.RealTime:
                    //      state.Check = m_designView.RealTime;
                }
            }
        }
示例#4
0
        private void SetRenderFlags(GlobalRenderFlags flags, object oscData)
        {
            float param1;

            if (!GetOscParam(oscData, out param1))
            {
                return;
            }
            var designControl = (NativeDesignControl)m_designView.ActiveView;

            if (param1 == 0.0f)
            {
                designControl.RenderState.RenderFlag &= ~flags;
            }
            else
            {
                designControl.RenderState.RenderFlag |= flags;
            }
            designControl.Invalidate();
        }
示例#5
0
            public NativeViewControl()
            {
                ClientSize = new Size(16, 16);
                if (!GameEngine.IsInError)
                {
                    swapChainId = GameEngine.GetObjectTypeId("SwapChain");
                    SurfaceId = GameEngine.CreateObject(swapChainId, this.Handle, IntPtr.Size);
                    SizePropId = GameEngine.GetObjectPropertyId(swapChainId, "Size");
                    GameEngine.SetObjectProperty(swapChainId, SurfaceId, SizePropId, ClientSize);
                    BkgColorPropId = GameEngine.GetObjectPropertyId(swapChainId, "BkgColor");
                    GameEngine.SetObjectProperty(swapChainId, SurfaceId, BkgColorPropId, BackColor);

                }

                m_renderState = new RenderState();
                m_renderState.RenderFlag = GlobalRenderFlags.Solid | GlobalRenderFlags.Textured | GlobalRenderFlags.Lit;
                m_renderState.WireFrameColor = Color.DarkBlue;
                m_renderState.SelectionColor = Color.FromArgb(66, 255, 161);
                BackColor = SystemColors.ControlDark;


                #region Context menu
                GlobalRenderFlags[] flags = new GlobalRenderFlags[] 
                {
                    GlobalRenderFlags.Solid,
                    GlobalRenderFlags.WireFrame,
                    GlobalRenderFlags.Textured, 
                    GlobalRenderFlags.RenderBackFace,
                    GlobalRenderFlags.Lit
                };
                ContextMenuStrip cntx = new ContextMenuStrip();
                foreach (var flag in flags)
                {
                    ToolStripMenuItem item =
                        new ToolStripMenuItem(flag.ToString());
                    item.Tag = flag;
                    item.Click += delegate(object sender, EventArgs e)
                    {
                        ToolStripMenuItem menu = (ToolStripMenuItem)sender;
                        RenderState.RenderFlag = RenderState.RenderFlag ^ (GlobalRenderFlags)menu.Tag;
                        this.Invalidate();
                    };

                    cntx.Items.Add(item);
                }



                cntx.Items.Add(new ToolStripSeparator());
                ToolStripMenuItem views = new ToolStripMenuItem("View");
                cntx.Items.Add(views);
                views.DropDownOpening += delegate
                {
                    foreach (ToolStripMenuItem item in views.DropDownItems)
                    {
                        item.Checked = (ViewType == (ViewTypes)item.Tag);
                    }
                };

                foreach (var val in Enum.GetValues(typeof(ViewTypes)))
                {
                    ViewTypes viewtype = (ViewTypes)val;
                    ToolStripMenuItem item = new ToolStripMenuItem(viewtype.ToString());
                    item.Tag = viewtype;
                    item.Click += delegate(object sender, EventArgs e)
                    {
                        ToolStripMenuItem menuItem = (ToolStripMenuItem)sender;
                        this.ViewType = (ViewTypes)menuItem.Tag;
                    };

                    views.DropDownItems.Add(item);
                }


                cntx.Opening += delegate
                {
                    GlobalRenderFlags renderflags = RenderState.RenderFlag;
                    foreach (ToolStripItem item in cntx.Items)
                    {
                        if (item is ToolStripSeparator) break;
                        ((ToolStripMenuItem)item).Checked = (renderflags & (GlobalRenderFlags)item.Tag) != 0;
                    }
                };

                this.ContextMenuStrip = cntx;
                #endregion
            }
示例#6
0
 private void SetRenderFlags(GlobalRenderFlags flags, object oscData)
 {
     float param1;
     if (!GetOscParam(oscData, out param1))
         return;
     var designControl = (NativeDesignControl)m_designView.ActiveView;
     if (param1 == 0.0f)
         designControl.RenderState.RenderFlag &= ~flags;
     else
         designControl.RenderState.RenderFlag |= flags;
     designControl.Invalidate();
 }
示例#7
0
 private float GetRenderFlags(GlobalRenderFlags flags)
 {
     return (((NativeDesignControl) m_designView.ActiveView).RenderState.RenderFlag & flags) == flags
         ? 1.0f
         : 0.0f;
 }
示例#8
0
        /// <summary>
        /// Do a command</summary>
        /// <param name="commandTag">Command</param>
        public void DoCommand(object commandTag)
        {
            if (commandTag is Command)
            {
                NativeDesignControl control = (NativeDesignControl)m_designView.ActiveView;
                RenderState         rs      = control.RenderState;

                switch ((Command)commandTag)
                {
                case Command.RenderSmooth:
                    rs.RenderFlag &= ~(GlobalRenderFlags.WireFrame | GlobalRenderFlags.RenderBackFace);
                    rs.RenderFlag |= (GlobalRenderFlags.Solid | GlobalRenderFlags.Lit | GlobalRenderFlags.Textured);

                    break;

                case Command.RenderWireFrame:
                    rs.RenderFlag |= (GlobalRenderFlags.WireFrame);      //| RenderFlags.RenderBackFace
                    rs.RenderFlag &= ~(GlobalRenderFlags.Solid | GlobalRenderFlags.Lit | GlobalRenderFlags.Textured);

                    break;

                case Command.RenderOutlined:
                    rs.RenderFlag |= (GlobalRenderFlags.WireFrame | GlobalRenderFlags.Solid |
                                      GlobalRenderFlags.Lit | GlobalRenderFlags.Textured);
                    rs.RenderFlag &= ~GlobalRenderFlags.RenderBackFace;

                    break;

                case Command.RenderTextured:
                    rs.RenderFlag ^= GlobalRenderFlags.Textured;

                    break;

                case Command.RenderLight:
                    rs.RenderFlag ^= GlobalRenderFlags.Lit;

                    break;

                case Command.RenderBackFace:
                    rs.RenderFlag ^= GlobalRenderFlags.RenderBackFace;
                    break;

                case Command.RenderShadow:
                    rs.RenderFlag ^= GlobalRenderFlags.Shadows;
                    break;

                case Command.RenderNormals:
                    rs.RenderFlag ^= GlobalRenderFlags.RenderNormals;
                    break;

                case Command.RenderCycle:
                    GlobalRenderFlags flags = rs.RenderFlag;

                    if ((flags & GlobalRenderFlags.Solid) != 0 &&
                        (flags & GlobalRenderFlags.WireFrame) != 0)
                    {
                        // outlined -> smooth
                        goto case Command.RenderSmooth;
                    }
                    if ((flags & GlobalRenderFlags.Solid) != 0)
                    {
                        // smooth -> wireframe
                        goto case Command.RenderWireFrame;
                    }
                    // wireframe -> outlined
                    goto case Command.RenderOutlined;

                    //  case Command.RealTime:
                    //      m_designView.RealTime = !m_designView.RealTime;
                    //      break;
                }
                m_designView.ActiveView.Invalidate();
            }
        }
示例#9
0
 private float GetRenderFlags(GlobalRenderFlags flags)
 {
     return((((NativeDesignControl)m_designView.ActiveView).RenderState.RenderFlag & flags) == flags
         ? 1.0f
         : 0.0f);
 }
示例#10
0
            public NativeViewControl()
            {
                ClientSize = new Size(16, 16);
                if (!GameEngine.IsInError)
                {
                    swapChainId = GameEngine.GetObjectTypeId("SwapChain");
                    SurfaceId   = GameEngine.CreateObject(swapChainId, this.Handle, IntPtr.Size);
                    SizePropId  = GameEngine.GetObjectPropertyId(swapChainId, "Size");
                    GameEngine.SetObjectProperty(swapChainId, SurfaceId, SizePropId, ClientSize);
                    BkgColorPropId = GameEngine.GetObjectPropertyId(swapChainId, "BkgColor");
                    GameEngine.SetObjectProperty(swapChainId, SurfaceId, BkgColorPropId, BackColor);
                }

                m_renderState                = new RenderState();
                m_renderState.RenderFlag     = GlobalRenderFlags.Solid | GlobalRenderFlags.Textured | GlobalRenderFlags.Lit;
                m_renderState.WireFrameColor = Color.DarkBlue;
                m_renderState.SelectionColor = Color.FromArgb(66, 255, 161);
                BackColor = SystemColors.ControlDark;


                #region Context menu
                GlobalRenderFlags[] flags = new GlobalRenderFlags[]
                {
                    GlobalRenderFlags.Solid,
                    GlobalRenderFlags.WireFrame,
                    GlobalRenderFlags.Textured,
                    GlobalRenderFlags.RenderBackFace,
                    GlobalRenderFlags.Lit
                };
                ContextMenuStrip cntx = new ContextMenuStrip();
                foreach (var flag in flags)
                {
                    ToolStripMenuItem item =
                        new ToolStripMenuItem(flag.ToString());
                    item.Tag    = flag;
                    item.Click += delegate(object sender, EventArgs e)
                    {
                        ToolStripMenuItem menu = (ToolStripMenuItem)sender;
                        RenderState.RenderFlag = RenderState.RenderFlag ^ (GlobalRenderFlags)menu.Tag;
                        this.Invalidate();
                    };

                    cntx.Items.Add(item);
                }



                cntx.Items.Add(new ToolStripSeparator());
                ToolStripMenuItem views = new ToolStripMenuItem("View");
                cntx.Items.Add(views);
                views.DropDownOpening += delegate
                {
                    foreach (ToolStripMenuItem item in views.DropDownItems)
                    {
                        item.Checked = (ViewType == (ViewTypes)item.Tag);
                    }
                };

                foreach (var val in Enum.GetValues(typeof(ViewTypes)))
                {
                    ViewTypes         viewtype = (ViewTypes)val;
                    ToolStripMenuItem item     = new ToolStripMenuItem(viewtype.ToString());
                    item.Tag    = viewtype;
                    item.Click += delegate(object sender, EventArgs e)
                    {
                        ToolStripMenuItem menuItem = (ToolStripMenuItem)sender;
                        this.ViewType = (ViewTypes)menuItem.Tag;
                    };

                    views.DropDownItems.Add(item);
                }


                cntx.Opening += delegate
                {
                    GlobalRenderFlags renderflags = RenderState.RenderFlag;
                    foreach (ToolStripItem item in cntx.Items)
                    {
                        if (item is ToolStripSeparator)
                        {
                            break;
                        }
                        ((ToolStripMenuItem)item).Checked = (renderflags & (GlobalRenderFlags)item.Tag) != 0;
                    }
                };

                this.ContextMenuStrip = cntx;
                #endregion
            }
示例#11
0
文件: OscClient.cs 项目: ldh9451/XLE
 private float GetRenderFlags(GlobalRenderFlags flags)
 {
     // return (((RenderingInterop.NativeDesignControl)m_designView.ActiveView).RenderState.RenderFlag & flags) == flags
     //     ? 1.0f
     //     : 0.0f;
     return 0.0f;
 }