private static System.Drawing.Font CachedSystemFont(int fontSize)
        {
            bool fontCached = false;
            int  cacheSlot  = 0;

            foreach (FontObject cachedFont in ListFontObjects)
            {
                if (cachedFont.size == fontSize)
                {
                    fontCached = true;
                    break;
                }
                cacheSlot++;
            }

            if (!fontCached)
            {
                var systemFont = new System.Drawing.Font("Arial", fontSize);
                var newFont    = new FontObject {
                    size = fontSize, font = systemFont
                };
                ListFontObjects.Add(newFont);
            }

            return(ListFontObjects[cacheSlot].font);
        }
Exemplo n.º 2
0
        private static System.Drawing.Font CachedSystemFont(int fontSize)
        {
            bool fontCached = false;
            int  cacheSlot  = 0;

            foreach (FontObject cachedFont in _listFontObjects)
            {
                if (cachedFont.size == fontSize)
                {
                    fontCached = true;
                    break;
                }
                cacheSlot++;
            }

            if (!fontCached)
            {
                System.Drawing.Font systemFont = new System.Drawing.Font("Arial", fontSize);
                FontObject          newFont    = new FontObject();
                newFont.size = fontSize;
                newFont.font = systemFont;
                _listFontObjects.Add(newFont);
            }

            return(_listFontObjects[cacheSlot].font);
        }
Exemplo n.º 3
0
        /// <summary>
        /// The initialize graphics.
        /// </summary>
        /// <returns>The initialize graphics.</returns>
        /// <remarks></remarks>
        public bool InitializeGraphics()
        {
            // try
            // {
            render.CreateDevice(this);

            pc = new PortalContainer(portals, ref render.device);
            BSPModel.BSPDisplayedInfo.CreateVertexBuffers(ref render.device, ref bsp);
            BSPModel.BSPDisplayedInfo.CreateIndexBuffers(ref render.device, ref bsp);
            BSPModel.BSPDisplayedInfo.LoadShaderTextures(ref render.device, ref bsp);

            System.Drawing.Font systemfont = new System.Drawing.Font("Arial", 12f, FontStyle.Regular);
            text = new Font(render.device, systemfont);

            cam       = new Camera2(this);
            cam.speed = 0.05f;

            // cam.fixedrotation = true;
            return(true);

            // }
            // catch (DirectXException)
            // {
            // Catch any errors and return a failure
            //  return false;
            //  }
        }
Exemplo n.º 4
0
        /// <summary>
        /// The initialize graphics.
        /// </summary>
        /// <returns>The initialize graphics.</returns>
        /// <remarks></remarks>
        public bool InitializeGraphics()
        {
            // try
            // {
            render.CreateDevice(this);

            //pc = new LightmapContainer(null, ref render.device);
            BSPModel.BSPDisplayedInfo.CreateVertexBuffers(ref render.device, ref bsp);
            BSPModel.BSPDisplayedInfo.CreateIndexBuffers(ref render.device, ref bsp);
            BSPModel.BSPDisplayedInfo.LoadShaderTextures(ref render.device, ref bsp);
            BSPModel.BSPDisplayedInfo.LoadLightmapTextures(ref render.device, ref bsp);

            System.Drawing.Font systemfont = new System.Drawing.Font("Arial", 12f, FontStyle.Regular);
            text = new Font(render.device, systemfont);

            cam       = new Camera2(this);
            cam.speed = 0.30f;

            // cam.fixedrotation = true;
            bspMeshes = new Mesh[bsp.BSPPermutationRawDataMetaChunks.Length];
            //GraphicsStream vertexData;

            for (int x = 0; x < bsp.BSPPermutationRawDataMetaChunks.Length; x++)
            {
                BSPModel.BSPPermutationRawDataMetaChunk tempChunk = bsp.BSPPermutationRawDataMetaChunks[x];

                // Compute the bounding box for a mesh.
                // VertexBufferDescription description = bsp.Display.vertexBuffer[x].Description;
                // vertexData = bsp.Display.vertexBuffer[x].Lock(0, 0, LockFlags.ReadOnly);

                /*
                 * Geometry.ComputeBoundingBox(vertexData,
                 *  meshes[i].NumberVertices, description.VertexFormat,
                 *  out meshBoundingBoxMinValues[i],
                 *  out meshBoundingBoxMaxValues[i]);
                 * bsp.Display.vertexBuffer[x].Unlock();
                 * bspMeshes[x] = new Mesh(tempChunk.FaceCount, tempChunk.VerticeCount, MeshFlags.Dynamic, bsp.Display.vertexBuffer[x], render.device);
                 * //                bspMeshes[x] = Mesh.Box(render.device, .BoundingBox.MaxX - bsp.BSPPermutationRawDataMetaChunks[x].BoundingBox.MinX,
                 * //                                                       bsp.BSPPermutationRawDataMetaChunks[x].BoundingBox.MaxY - bsp.BSPPermutationRawDataMetaChunks[x].BoundingBox.MinY,
                 * //                                                       bsp.BSPPermutationRawDataMetaChunks[x].BoundingBox.MaxZ - bsp.BSPPermutationRawDataMetaChunks[x].BoundingBox.MinZ);
                 */
            }

            return(true);

            // }
            // catch (DirectXException)
            // {
            // Catch any errors and return a failure
            //  return false;
            //  }
        }
Exemplo n.º 5
0
    private static System.Drawing.Font CachedSystemFont(int fontSize)
    {
      bool fontCached = false;
      int cacheSlot = 0;
      foreach (FontObject cachedFont in _listFontObjects)
      {
        if (cachedFont.size == fontSize)
        {
          fontCached = true;
          break;
        }
        cacheSlot++;
      }

      if (!fontCached)
      {
        System.Drawing.Font systemFont = new System.Drawing.Font("Arial", fontSize);
        FontObject newFont = new FontObject();
        newFont.size = fontSize;
        newFont.font = systemFont;
        _listFontObjects.Add(newFont);
      }

      return _listFontObjects[cacheSlot].font;
    }
Exemplo n.º 6
0
        /// <summary>
        /// The initialize graphics.
        /// </summary>
        /// <returns>The initialize graphics.</returns>
        /// <remarks></remarks>
        public bool InitializeGraphics()
        {
            // try
            // {
            render.CreateDevice(this);

            pc = new PortalContainer(portals, ref render.device);
            BSPModel.BSPDisplayedInfo.CreateVertexBuffers(ref render.device, ref bsp);
            BSPModel.BSPDisplayedInfo.CreateIndexBuffers(ref render.device, ref bsp);
            BSPModel.BSPDisplayedInfo.LoadShaderTextures(ref render.device, ref bsp);

            System.Drawing.Font systemfont = new System.Drawing.Font("Arial", 12f, FontStyle.Regular);
            text = new Font(render.device, systemfont);

            cam = new Camera2(this);
            cam.speed = 0.05f;

            // cam.fixedrotation = true;
            return true;

            // }
            // catch (DirectXException)
            // {
            // Catch any errors and return a failure
            // 	return false;
            // 	}
        }
Exemplo n.º 7
0
 /// <summary>
 ///     Cambia la fuente del texto
 /// </summary>
 /// <param name="font">Fuente del sistema</param>
 public void changeFont(System.Drawing.Font font)
 {
     D3dFont = new Font(D3DDevice.Instance.Device, font);
 }
Exemplo n.º 8
0
        public virtual void Render(DrawArgs drawArgs)
        {
            if (!Visible)
            {
                return;
            }

            if (m_TextFont == null)
            {
                System.Drawing.Font localHeaderFont = new System.Drawing.Font("Arial", 12.0f, FontStyle.Italic | FontStyle.Bold);
                m_TextFont = new Font(drawArgs.Device, localHeaderFont);
            }

            if (m_WorldWindDingsFont == null)
            {
                AddFontResource(Path.Combine(Application.StartupPath, "World Wind Dings 1.04.ttf"));
                PrivateFontCollection fpc = new PrivateFontCollection();
                fpc.AddFontFile(Path.Combine(Application.StartupPath, "World Wind Dings 1.04.ttf"));
                System.Drawing.Font worldwinddings = new System.Drawing.Font(fpc.Families[0], 12.0f);

                m_WorldWindDingsFont = new Font(drawArgs.Device, worldwinddings);
            }

            if (DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer &&
                DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer)
            {
                DrawArgs.MouseCursor = CursorType.SizeNWSE;
            }
            else if (DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer &&
                     DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer)
            {
                DrawArgs.MouseCursor = CursorType.SizeNESW;
            }
            else if (DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer + ClientSize.Height &&
                     DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer + ClientSize.Height)
            {
                DrawArgs.MouseCursor = CursorType.SizeNESW;
            }
            else if (DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer + ClientSize.Height &&
                     DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer + ClientSize.Height)
            {
                DrawArgs.MouseCursor = CursorType.SizeNWSE;
            }
            else if ((DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer && DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer + ClientSize.Height) ||
                     (DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer && DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer + ClientSize.Height))
            {
                DrawArgs.MouseCursor = CursorType.SizeWE;
            }
            else if ((DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer && DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer) ||
                     (DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer + ClientSize.Height && DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer + ClientSize.Height))
            {
                DrawArgs.MouseCursor = CursorType.SizeNS;
            }

            if (ClientSize.Height
                > drawArgs.ParentControl.Height)
            {
                ClientSize = new Size(ClientSize.Width, drawArgs.ParentControl.Height);
            }

            if (ClientSize.Width
                > drawArgs.ParentControl.Width)
            {
                ClientSize = new Size(drawArgs.ParentControl.Width, ClientSize.Height);
            }

            if (!m_AutoHideHeader ||
                (DrawArgs.LastMousePosition.X >= m_Location.X && DrawArgs.LastMousePosition.X <= m_Location.X + m_Size.Width && DrawArgs.LastMousePosition.Y >= m_Location.Y && DrawArgs.LastMousePosition.Y <= m_Location.Y + m_Size.Height))
            {
                WidgetUtil.DrawBox(m_Location.X, m_Location.Y, m_Size.Width, m_HeaderHeight, 0.0f, m_HeaderColor.ToArgb(), drawArgs.Device);

                m_TextFont.DrawText(null, m_Text, new Rectangle(m_Location.X + 2, m_Location.Y, m_Size.Width, m_HeaderHeight), DrawTextFormat.None, m_TextColor.ToArgb());

                m_WorldWindDingsFont.DrawText(null, "E", new Rectangle(m_Location.X + m_Size.Width - 15, m_Location.Y + 2, m_Size.Width, m_Size.Height), DrawTextFormat.NoClip, Color.White.ToArgb());

                m_OutlineVertsHeader[0].X = AbsoluteLocation.X;
                m_OutlineVertsHeader[0].Y = AbsoluteLocation.Y;

                m_OutlineVertsHeader[1].X = AbsoluteLocation.X + ClientSize.Width;
                m_OutlineVertsHeader[1].Y = AbsoluteLocation.Y;

                m_OutlineVertsHeader[2].X = AbsoluteLocation.X + ClientSize.Width;
                m_OutlineVertsHeader[2].Y = AbsoluteLocation.Y + m_HeaderHeight;

                m_OutlineVertsHeader[3].X = AbsoluteLocation.X;
                m_OutlineVertsHeader[3].Y = AbsoluteLocation.Y + m_HeaderHeight;

                m_OutlineVertsHeader[4].X = AbsoluteLocation.X;
                m_OutlineVertsHeader[4].Y = AbsoluteLocation.Y;

                if (!m_HideBorder)
                {
                    WidgetUtil.DrawLine(m_OutlineVertsHeader, m_BorderColor.ToArgb(), drawArgs.Device);
                }
            }

            WidgetUtil.DrawBox(m_Location.X, m_Location.Y + m_HeaderHeight, m_Size.Width, m_Size.Height - m_HeaderHeight, 0.0f, m_BackgroundColor.ToArgb(), drawArgs.Device);

            for (int index = m_ChildWidgets.Count - 1; index >= 0; index--)
            {
                IWidget currentChildWidget = m_ChildWidgets[index] as IWidget;
                if (currentChildWidget != null)
                {
                    if (currentChildWidget.ParentWidget == null ||
                        currentChildWidget.ParentWidget != this)
                    {
                        currentChildWidget.ParentWidget = this;
                    }
                    currentChildWidget.Render(drawArgs);
                }
            }

            m_OutlineVerts[0].X = AbsoluteLocation.X;
            m_OutlineVerts[0].Y = AbsoluteLocation.Y + m_HeaderHeight;

            m_OutlineVerts[1].X = AbsoluteLocation.X + ClientSize.Width;
            m_OutlineVerts[1].Y = AbsoluteLocation.Y + m_HeaderHeight;

            m_OutlineVerts[2].X = AbsoluteLocation.X + ClientSize.Width;
            m_OutlineVerts[2].Y = AbsoluteLocation.Y + ClientSize.Height;

            m_OutlineVerts[3].X = AbsoluteLocation.X;
            m_OutlineVerts[3].Y = AbsoluteLocation.Y + ClientSize.Height;

            m_OutlineVerts[4].X = AbsoluteLocation.X;
            m_OutlineVerts[4].Y = AbsoluteLocation.Y + m_HeaderHeight;

            if (!m_HideBorder)
            {
                WidgetUtil.DrawLine(m_OutlineVerts, m_BorderColor.ToArgb(), drawArgs.Device);
            }
        }
Exemplo n.º 9
0
        public virtual void Render(DrawArgs drawArgs)
        {
            if (!Visible) {
                return;
            }

            if (m_TextFont == null) {
                System.Drawing.Font localHeaderFont = new System.Drawing.Font("Arial", 12.0f, FontStyle.Italic | FontStyle.Bold);
                m_TextFont = new Font(drawArgs.Device, localHeaderFont);
            }

            if (m_WorldWindDingsFont == null) {
                AddFontResource(Path.Combine(Application.StartupPath, "World Wind Dings 1.04.ttf"));
                PrivateFontCollection fpc = new PrivateFontCollection();
                fpc.AddFontFile(Path.Combine(Application.StartupPath, "World Wind Dings 1.04.ttf"));
                System.Drawing.Font worldwinddings = new System.Drawing.Font(fpc.Families[0], 12.0f);

                m_WorldWindDingsFont = new Font(drawArgs.Device, worldwinddings);
            }

            if (DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer
                && DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer) {
                DrawArgs.MouseCursor = CursorType.SizeNWSE;
            }
            else if (DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer
                     && DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer) {
                DrawArgs.MouseCursor = CursorType.SizeNESW;
            }
            else if (DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer + ClientSize.Height
                     && DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer + ClientSize.Height) {
                DrawArgs.MouseCursor = CursorType.SizeNESW;
            }
            else if (DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer + ClientSize.Height
                     && DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer + ClientSize.Height) {
                DrawArgs.MouseCursor = CursorType.SizeNWSE;
            }
            else if ((DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer && DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer + ClientSize.Height)
                     || (DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer && DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer + ClientSize.Height)) {
                DrawArgs.MouseCursor = CursorType.SizeWE;
            }
            else if ((DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer && DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer)
                     || (DrawArgs.LastMousePosition.X > AbsoluteLocation.X - resizeBuffer && DrawArgs.LastMousePosition.X < AbsoluteLocation.X + resizeBuffer + ClientSize.Width && DrawArgs.LastMousePosition.Y > AbsoluteLocation.Y - resizeBuffer + ClientSize.Height && DrawArgs.LastMousePosition.Y < AbsoluteLocation.Y + resizeBuffer + ClientSize.Height)) {
                DrawArgs.MouseCursor = CursorType.SizeNS;
            }

            if (ClientSize.Height
                > drawArgs.ParentControl.Height) {
                ClientSize = new Size(ClientSize.Width, drawArgs.ParentControl.Height);
            }

            if (ClientSize.Width
                > drawArgs.ParentControl.Width) {
                ClientSize = new Size(drawArgs.ParentControl.Width, ClientSize.Height);
            }

            if (!m_AutoHideHeader
                || (DrawArgs.LastMousePosition.X >= m_Location.X && DrawArgs.LastMousePosition.X <= m_Location.X + m_Size.Width && DrawArgs.LastMousePosition.Y >= m_Location.Y && DrawArgs.LastMousePosition.Y <= m_Location.Y + m_Size.Height)) {
                WidgetUtil.DrawBox(m_Location.X, m_Location.Y, m_Size.Width, m_HeaderHeight, 0.0f, m_HeaderColor.ToArgb(), drawArgs.Device);

                m_TextFont.DrawText(null, m_Text, new Rectangle(m_Location.X + 2, m_Location.Y, m_Size.Width, m_HeaderHeight), DrawTextFormat.None, m_TextColor.ToArgb());

                m_WorldWindDingsFont.DrawText(null, "E", new Rectangle(m_Location.X + m_Size.Width - 15, m_Location.Y + 2, m_Size.Width, m_Size.Height), DrawTextFormat.NoClip, Color.White.ToArgb());

                m_OutlineVertsHeader[0].X = AbsoluteLocation.X;
                m_OutlineVertsHeader[0].Y = AbsoluteLocation.Y;

                m_OutlineVertsHeader[1].X = AbsoluteLocation.X + ClientSize.Width;
                m_OutlineVertsHeader[1].Y = AbsoluteLocation.Y;

                m_OutlineVertsHeader[2].X = AbsoluteLocation.X + ClientSize.Width;
                m_OutlineVertsHeader[2].Y = AbsoluteLocation.Y + m_HeaderHeight;

                m_OutlineVertsHeader[3].X = AbsoluteLocation.X;
                m_OutlineVertsHeader[3].Y = AbsoluteLocation.Y + m_HeaderHeight;

                m_OutlineVertsHeader[4].X = AbsoluteLocation.X;
                m_OutlineVertsHeader[4].Y = AbsoluteLocation.Y;

                if (!m_HideBorder) {
                    WidgetUtil.DrawLine(m_OutlineVertsHeader, m_BorderColor.ToArgb(), drawArgs.Device);
                }
            }

            WidgetUtil.DrawBox(m_Location.X, m_Location.Y + m_HeaderHeight, m_Size.Width, m_Size.Height - m_HeaderHeight, 0.0f, m_BackgroundColor.ToArgb(), drawArgs.Device);

            for (int index = m_ChildWidgets.Count - 1; index >= 0; index--) {
                IWidget currentChildWidget = m_ChildWidgets[index] as IWidget;
                if (currentChildWidget != null) {
                    if (currentChildWidget.ParentWidget == null
                        || currentChildWidget.ParentWidget != this) {
                        currentChildWidget.ParentWidget = this;
                    }
                    currentChildWidget.Render(drawArgs);
                }
            }

            m_OutlineVerts[0].X = AbsoluteLocation.X;
            m_OutlineVerts[0].Y = AbsoluteLocation.Y + m_HeaderHeight;

            m_OutlineVerts[1].X = AbsoluteLocation.X + ClientSize.Width;
            m_OutlineVerts[1].Y = AbsoluteLocation.Y + m_HeaderHeight;

            m_OutlineVerts[2].X = AbsoluteLocation.X + ClientSize.Width;
            m_OutlineVerts[2].Y = AbsoluteLocation.Y + ClientSize.Height;

            m_OutlineVerts[3].X = AbsoluteLocation.X;
            m_OutlineVerts[3].Y = AbsoluteLocation.Y + ClientSize.Height;

            m_OutlineVerts[4].X = AbsoluteLocation.X;
            m_OutlineVerts[4].Y = AbsoluteLocation.Y + m_HeaderHeight;

            if (!m_HideBorder) {
                WidgetUtil.DrawLine(m_OutlineVerts, m_BorderColor.ToArgb(), drawArgs.Device);
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// The initialize graphics.
        /// </summary>
        /// <returns>The initialize graphics.</returns>
        /// <remarks></remarks>
        public bool InitializeGraphics()
        {
            // try
            // {
            render.CreateDevice(this);

            //pc = new LightmapContainer(null, ref render.device);
            BSPModel.BSPDisplayedInfo.CreateVertexBuffers(ref render.device, ref bsp);
            BSPModel.BSPDisplayedInfo.CreateIndexBuffers(ref render.device, ref bsp);
            BSPModel.BSPDisplayedInfo.LoadShaderTextures(ref render.device, ref bsp);
            BSPModel.BSPDisplayedInfo.LoadLightmapTextures(ref render.device, ref bsp);

            System.Drawing.Font systemfont = new System.Drawing.Font("Arial", 12f, FontStyle.Regular);
            text = new Font(render.device, systemfont);

            cam = new Camera2(this);
            cam.speed = 0.30f;

            // cam.fixedrotation = true;
            bspMeshes = new Mesh[bsp.BSPPermutationRawDataMetaChunks.Length];
            //GraphicsStream vertexData;

            for (int x = 0; x < bsp.BSPPermutationRawDataMetaChunks.Length; x++)
            {
                BSPModel.BSPPermutationRawDataMetaChunk tempChunk = bsp.BSPPermutationRawDataMetaChunks[x];

                // Compute the bounding box for a mesh.
                // VertexBufferDescription description = bsp.Display.vertexBuffer[x].Description;
                // vertexData = bsp.Display.vertexBuffer[x].Lock(0, 0, LockFlags.ReadOnly);
                /*
                Geometry.ComputeBoundingBox(vertexData,
                    meshes[i].NumberVertices, description.VertexFormat,
                    out meshBoundingBoxMinValues[i],
                    out meshBoundingBoxMaxValues[i]);
                bsp.Display.vertexBuffer[x].Unlock();
                bspMeshes[x] = new Mesh(tempChunk.FaceCount, tempChunk.VerticeCount, MeshFlags.Dynamic, bsp.Display.vertexBuffer[x], render.device);
            //                bspMeshes[x] = Mesh.Box(render.device, .BoundingBox.MaxX - bsp.BSPPermutationRawDataMetaChunks[x].BoundingBox.MinX,
            //                                                       bsp.BSPPermutationRawDataMetaChunks[x].BoundingBox.MaxY - bsp.BSPPermutationRawDataMetaChunks[x].BoundingBox.MinY,
            //                                                       bsp.BSPPermutationRawDataMetaChunks[x].BoundingBox.MaxZ - bsp.BSPPermutationRawDataMetaChunks[x].BoundingBox.MinZ);
                */
            }

            return true;

            // }
            // catch (DirectXException)
            // {
            // Catch any errors and return a failure
            // 	return false;
            // 	}
        }